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...