作者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://webptt.com/cn.aspx?n=bbs/Python/M.1567569374.A.1C9.html
1F:→ djshen: 你确定程式照你想的那样执行?09/04 12:35
已解,最後的else没有return,所以就算找到值也不会回true...
※ 编辑: Dong0129 (42.73.44.121 台湾), 09/04/2019 13:18:08
2F:推 yushes920179: If 後面如果是None也会被判断成False 09/10 23:11