def fact(number=input("Enter a value:")):
if number==1:
return 1
else:
return number*fact(number-1)
res=fact()
print(res)
答案 0 :(得分:1)
使用不返回常量的函数(例如input
)初始化参数变量通常是不好的。另外,input
返回字符串,而不是整数,因此需要进行转换。我建议您这样更改它:
def fact(number):
if number <= 1:
return 1
else:
return number*fact(number-1)
number = int(input("Enter a value:"))
res = fact(number)
print(res)
答案 1 :(得分:0)
尝试将输入转换为整数。默认情况下,它作为字符串。
def fact(number=int(input("Enter a value:"))):
if number==1:
return 1
else:
return number*fact(number-1)
res=fact()
print(res)