在python中使用for循环的factorial

Joe*_*Ngo 0 python for-loop

result = 1
num = 1
while num <= 5: 
    result *= num 
    num = num + 1
print(result) #this gives me 5! 
Run Code Online (Sandbox Code Playgroud)

但是,我想用for循环做这个.我试过用这个

result = 1
for num in (1, 6, 1): 
    result *= num 
    print(result) #just to see intermediate calculations
print(result)
Run Code Online (Sandbox Code Playgroud)

结果我得到= 6而不是120.

1
6
6 
Run Code Online (Sandbox Code Playgroud)

是我得到的输出.

我为for循环做了什么错误?

Car*_*ate 7

我很确定你的意思是将该元组应用于范围函数:

for num in range(1, 6, 1):
Run Code Online (Sandbox Code Playgroud)

虽然range(1, 6)足够了.步骤1是默认值.

(1, 6, 1)仅仅是一个3个元素的元组,1,6,和1.