我的功能如下所示:
def func(x):
for i in range(x 1 to x 10):
if (condition):
return True
else:
func(i)
return False
這里,當我們回傳 True 或 False 時,之前遞回呼叫的回傳值不受影響。
我想做的是:如果遞回函式回傳True,“基本情況函式”也應該立即回傳True
我發現的一種解決方法是使用非區域變數:
var = False
def func(x):
nonlocal var
for i in range(x 1 to x 10):
if (condition):
var = True
else:
func(i)
return var
但我想知道是否有更好的方法來做同樣的事情
uj5u.com熱心網友回復:
就是這個。
def func(x):
for i in range(x 1 to x 10):
if (condition):
return True
elif func(i):
return True
return False
請務必將回傳值func(i)
用作布林值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/507828.html
上一篇:二進制字串播放
下一篇:如何在python中生成字典網格