看板 Python 關於我們 聯絡資訊
各位版友好, 今早在使用遞迴函式時遇到一個問題, 程式碼如下, 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