如何编写 for 循环来查找阶乘并且只打印最终数字而不是整个列表



我只是在学习edX的课程,他们希望我写一个for循环来找到5个阶乘,并且只打印120/最终产品而不是整个列表。

我试过这个:

mystery_int = 5
for answer in range(1,5):
    mystery_int *= answer
    print(mystery_int)

我希望结果只是"120",但实际输出是整个列表

5
10
30
120
mystery_int = 10  # change this value to calculate new factorial
factorial = 1
for num in range(2, mystery_int + 1):
    factorial *= num
print('{:,}'.format(factorial))

如注释中所述,您需要将 print() 语句移动到 for 循环范围之外,它将在循环结束后仅打印结果。此外,在 { } 中添加逗号和格式会添加千位分隔符。

我假设你没有使用函数来计算阶乘。以下是您可以执行的操作,如评论中的建议:

mystery_int = 5
# you can skip an extra iteration of multiplying by 1 
for answer in range(2,5):
    mystery_int *= answer
print(mystery_int)

最新更新