作者Dong0129 (阿東)
看板Python
標題[問題] 遞迴函式遇到的問題
時間Wed Sep 4 11:56:12 2019
各位版友好,
今早在使用遞迴函式時遇到一個問題,
程式碼如下,
def test(self):
flag=True
dataList=[a,b,c,d]
for data in dataList:
flag=self.process(data)
if flag:
print("pass")
else:
print("fail")
def process(self,data):
if exists(data):
print("Exists.")
return True
elif 資料查找結束:
print("Not exists.")
return False
else:
更新資料內容...
self.process(data)
印出來的資料如下
Exist.
pass
Exist.
pass
Exist.
pass
Exist.
fail
確認過資料都要能被找到,請問為什麼最後得到的flag是false?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.44.121 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1567569374.A.1C9.html
→ djshen: 你確定程式照你想的那樣執行?09/04 12:35
已解,最後的else沒有return,所以就算找到值也不會回true...
※ 編輯: Dong0129 (42.73.44.121 臺灣), 09/04/2019 13:18:08
推 yushes920179: If 後面如果是None也會被判斷成False 09/10 23:11