我想学习Python,于是我参加了一个测试。在测试中,我遇到了这段代码,我需要得到它的输出。
我输入了正确的答案是6,但我不理解代码,我只是把它放在一个在线python编译器中!
为什么这段代码输出一个6
def func(x):
res = 0
for i in range(x):
res += i
return res
print(func(4))发布于 2019-05-09 20:44:36
我想这会解决你的问题,伙计
def func(x):
res = 0
for i in range(x):
print "x",i
print "res",res
res += i
print "res out", res
return res
print(func(4))结果:
x 0
res 0
res out 0
x 1
res 0
res out 1
x 2
res 1
res out 3
x 3
res 3
res out 6
6发布于 2019-05-09 20:55:41
将number 4作为变量x传递到函数中,并在最后打印结果。
在for循环中,i是一个临时变量,表示0到4范围内的每个数字。
因此代码中的步骤如下所示
for 0 in range 0 to 4将0添加到variable res = 0 + 0 = 0
现在res =0
range 0 to 4中1的下一步/循环
将1添加到variable res = 0 + 1 = 1
现在是res = 1
range 0 to 4中2的下一步/循环
将2添加到variable res = 1 + 2 = 3
现在是res = 3
range 0 to 4中3的下一步/循环
将3添加到variable res = 3 + 3 = 6
现在是res = 6
循环就完成了,给出了结果6
发布于 2019-05-09 20:56:13
将i的值赋给res,然后将res的值与i的值相加,并将输出赋给res的值,即当x=3、res变为3并将值3相加时,值等于6 of
def用于定义函数,范围表示从起点到终点,因此在本例中,您将4作为变量x传递到函数中,这意味着您的循环从值0开始,当值为4时结束。
https://stackoverflow.com/questions/56059516
复制相似问题