有人可以解释以下代码有什么问题吗?
def factorial(num):
if num == 0 or 1:
return 1
else:
result = num * factorial(num-1)
return result
#print(factorial(30))
#output: 1
&相反,如果对if语句进行如下修改。该代码似乎可以完成其意图。如果有人可以评论为什么下面的代码提供所需的输出而上面的代码没有提供
,我将不胜感激 def factorial(num):
if num == 1 or 0:
return 1
else:
result = num * factorial(num-1)
return result
#print(factorial(30))
#265252859812191058636308480000000
答案 0 :(得分:0)
num == 0 or 1
并没有按照您的想法做。
它可以是num == 0 or num == 1
或num in [0,1]
。