我只是在学习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)