Python筆記06 好友分享的一道題

2021-08-29 01:30:43 字數 1469 閱讀 7957

class key_jump():

def __init__(self, x, num):

# 初始化起點和跳躍次數

self.x = x

self.num = num

# 下面用列舉的方式列出了當前位置可以跳躍的點

self.jump_next =

# 用來儲存結果和失敗結果即跳到了死胡同的路線

self.result_list =

self.break_list =

print('從%d開始跳%d次' % (x, num))

# 定義乙個方法第一次跳躍即以初始值起跳

def first_jump(self):

# 記錄起點位置

path = str(self.x)

self.num -= 1

if not self.jump_next[self.x] or self.num == 0:

# 將結果儲存

return

for next_x in self.jump_next[self.x]:

# 對下乙個點遍歷帶入後面的跳躍方法(遞迴)

self.jump(next_x, self.num, path)

def jump(self, x, num, path):

# 首先記錄跳躍路徑

path += '-' + str(x)

# 次數減一

new_num = num - 1

# 判斷結束條件

if not self.jump_next[x] or new_num == 0:

# 儲存路徑

else:

for next_x in self.jump_next[x]:

# 對下乙個跳躍點遍歷

# 判斷該點是否出現在路徑中(因為不能重複)

if str(next_x) in path:

# 儲存中斷路徑

break_path = path + '-' + str(next_x)

continue

# 通過上面的判斷後將該點帶入跳躍方法遞迴

self.jump(next_x, new_num, path)

def show_res(self):

# 列印結果

for path in self.result_list:

print('成功路線:%s' % path)

for path in self.break_list:

print('中斷路線:%s' % path)

def run(self):

# 組合方法,先跳躍,後列印結果

self.first_jump()

self.show_res()

if __name__ == '__main__':

a = key_jump(3, 5)

a.run()

Python學習筆記06

使用 json 函式需要匯入 json 庫 import json json.dumps 用於將 python 物件編碼成 json 字串 json.dumps obj,skipkeys false,ensure ascii true,check circular true,allow nan tr...

Python學習筆記 獲取好友資訊

一 實現 coding utf 8 python2 import itchat itchat.login 爬取自己好友相關資訊,返回乙個json檔案 friends itchat.get friends update true 0 print friends male female other 0 ...

python學習筆記06(讀寫檔案)

created on mon feb 12 00 18 30 2018 author myself f open data.txt 開啟檔案 data f.read 檔案內容寫入字串data print data 輸出字串 f.close 關閉檔案,釋放資源runfile f python list...