有人能帮我使用这个python函数吗?我是新手,我不知道';我不明白它是怎么工作的
显然它打印了24张,但我不知道怎么会这样 这是阶乘。4! = 24它实际上是吹4!从x开始,递减1,再乘以现有答案,直到x为0,输出为4x3x2x1。迭代1:有人能帮我使用这个python函数吗?我是新手,我不知道';我不明白它是怎么工作的,python,Python,显然它打印了24张,但我不知道怎么会这样 这是阶乘。4! = 24它实际上是吹4!从x开始,递减1,再乘以现有答案,直到x为0,输出为4x3x2x1。迭代1: def mystery(x): # line 1 answer = 1 # line 2 while x > 0: # line 3 answer = x * answer # line 4
def mystery(x): # line 1
answer = 1 # line 2
while x > 0: # line 3
answer = x * answer # line 4
x = x-1 # line 5
return answer # line 6
# line 7
value = 4 # line 8
print(mystery(value)) # line 9
迭代2:
x = 4, answer = 1
answer = 4 * 1 --> answer = 4
x = x - 1 --> x = 3
迭代3:
x = 3, answer = 4
answer = 3 * 4 --> answer = 12
x = x - 1 --> x = 2
迭代4:
x = 2, answer = 12
answer = 2 * 12 --> answer = 24
x = x - 1 --> x = 1
现在x不是>0,所以迭代停止。第8行作为
4
的参数传递给神秘
函数。在神秘
功能中:
1) 代码从4
处的x
开始,然后乘以answer
,即1
。答案设置为该值4
<从x
中减去code>1x
现在是3
2) x
或3
乘以answer
,即从步骤1开始的4
得到12
<从x
中减去code>1x
现在是2
3) x
或2
乘以answer
,从第2步得到24
,即12
<从x
中减去code>1x
现在是1
4) x
或1
乘以answer
,从第3步得到24
<从x
中减去code>1x
现在是0
x
不再大于0
,导致循环停止
代码现在print
s从神秘
函数返回的值,该函数从步骤4开始为24
简而言之,代码正在执行4*3*2*1
,这相当于24
,这非常有帮助。谢谢
x = 1, answer = 24
answer = 1 * 24 --> answer = 24
x = x - 1 --> x = 0