2 回答

TA貢獻1835條經驗 獲得超7個贊
當您調用遞歸函數時,您缺少 a ,return因為這將是返回的函數True
def nestedListContains(lst, n):
for i in lst:
print(f'i: {i}, n: {n}')
if type(i) == list:
return nestedListContains(i, n)
elif int(i) == int(n):
return True
return False
print(nestedListContains([1, [2, [3], 4]], 3)) # True
print(nestedListContains([1, [2, [3], 4]], 5)) # False

TA貢獻1805條經驗 獲得超10個贊
您需要返回調用的值nestedListContains(i, n),否則返回的值將被丟棄,并且循環將繼續,直到return False到達:
def nestedListContains(lst, n):
for i in lst:
print(f'i: {i}, n: {n}')
if type(i) == list:
return nestedListContains(i, n)
elif int(i) == int(n):
return True
return False
添加回答
舉報