代码示例:
def f(x, y, p):
if x + y >= 142 and p == 3:
return True
elif x + y != 142 and p == 3:
return False
return f(x + 2, y, p + 1) or f(x * 2, y, p + 1) or f(x, y + 2, p + 1) or f(x, y * 2, p + 1)
for i in range(1, 100):
if f(2, i, 1):
print(i)
break
结论:
35
其他代码:
def f(x, y, p):
if x + y >= 142 and p == 3:
return True
elif x + y != 142 and p == 3:
return False
return f(x + 2, y, p + 1)
return f(x * 2, y, p + 1)
return f(x, y + 2, p + 1)
return f(x, y * 2, p + 1)
for i in range(1, 100):
if f(2, i, 1):
print(i)
break
没有结论。
这些代码之间有什么区别以及为什么不同的行为?
运算符
or以逻辑 OR 的形式组合条件:而且,还有很多优化,如果至少有一个条件
or等于True,那么执行代码就没有意义了当你连续写几
return行时,只会执行第一个并立即退出函数,因此以下几行变得无法访问。