编写函数以查找输入数字的阶乘

时间:2019-06-22 21:42:13

标签: python for-loop factorial

我已经编写了一个代码来计算用户输入的任何数字的阶乘。该代码未运行。我想知道这段代码做错了什么。

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)

1 个答案:

答案 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)