问题描述
我得到了错误的答案。
n = input()
factorial = 1
if int(n) > 1:
for i in range (1,int(n)):
factorial = factorial * i
print(factorial)
2 的预期输出为 2
但我得到了 1。请帮助我。
解决方法
range()
直到 n-1
而不是 n
。因此,将 1 添加到 int(n)
。
n = input()
factorial = 1
if int(n) > 1:
for i in range (1,int(n)+1): #added 1 to the upper limit
factorial = factorial * i
print(factorial)
,
此代码也打印值 1
n = input()
factorial = 1
if int(n) >= 1: #added = symbol
for i in range (1,int(n)+1): #added 1 to the upper limit
factorial = factorial * i
print(factorial)