我已经编写了一个代码来计算用户输入的任何数字的阶乘。该代码未运行。我想知道这段代码做错了什么。
num = int(input("Please enter a number : "))
fact = num
lst = list(range(1, num + 1))
lst.sort(reverse = True)
print(lst)
for x in lst :
while x > 1:
fact = fact * (x - 1)
print(fact)
答案 0 :(得分:0)
是因为您的while x>1
。基本上,您的程序会循环到x的固定值,该值不会改变。
您非常接近:
num = int(input("Please enter a number : "))
fact = num
lst = list(range(1, num + 1))
lst.sort(reverse = True)
print(lst)
for x in lst :
if x > 1:
fact = fact * (x - 1)
else:
break
print(fact)