result = 1
num = 1
while num <= 5:
result *= num
num = num + 1
print(result) #this gives me 5!
然而,我想用for循环做这个。我试过用这个
result = 1
for num in (1, 6, 1):
result *= num
print(result) #just to see intermediate calculations
print(result)
结果我得= 6而不是120.
1
6
6
是我得到的输出。
我为for循环做错了什么?
答案 0 :(得分:7)
我很确定你的意思是将该元组应用于范围函数:
for num in range(1, 6, 1):
虽然range(1, 6)
就足够了。步骤1是默认值。
(1, 6, 1)
只是3个元素的元组,1
,6
和1
。
答案 1 :(得分:0)
你只需在循环中设置有三个元素1,6,1。您应该替换为operator T()
。
答案 2 :(得分:0)
问题在于你的循环:
-f
答案 3 :(得分:0)
def factorial(n):
result = 1
for i in range(1,n):
i=i+1
result=result*i
return result