首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在理解这段python代码时遇到了问题。

我在理解这段python代码时遇到了问题。
EN

Stack Overflow用户
提问于 2019-05-09 20:31:20
回答 3查看 116关注 0票数 1

我想学习Python,于是我参加了一个测试。在测试中,我遇到了这段代码,我需要得到它的输出。

我输入了正确的答案是6,但我不理解代码,我只是把它放在一个在线python编译器中!

为什么这段代码输出一个6

代码语言:javascript
复制
def func(x):
    res = 0
    for i in range(x):
        res += i
    return res

print(func(4))
EN

回答 3

Stack Overflow用户

发布于 2019-05-09 20:44:36

我想这会解决你的问题,伙计

代码语言:javascript
复制
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))

结果:

代码语言:javascript
复制
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
票数 3
EN

Stack Overflow用户

发布于 2019-05-09 20:55:41

将number 4作为变量x传递到函数中,并在最后打印结果。

在for循环中,i是一个临时变量,表示04范围内的每个数字。

因此代码中的步骤如下所示

代码语言:javascript
复制
for 0 in range 0 to 4

0添加到variable res = 0 + 0 = 0

现在res =0

range 0 to 41的下一步/循环

1添加到variable res = 0 + 1 = 1

现在是res = 1

range 0 to 42的下一步/循环

2添加到variable res = 1 + 2 = 3

现在是res = 3

range 0 to 43的下一步/循环

3添加到variable res = 3 + 3 = 6

现在是res = 6

循环就完成了,给出了结果6

票数 1
EN

Stack Overflow用户

发布于 2019-05-09 20:56:13

将i的值赋给res,然后将res的值与i的值相加,并将输出赋给res的值,即当x=3、res变为3并将值3相加时,值等于6 of

def用于定义函数,范围表示从起点到终点,因此在本例中,您将4作为变量x传递到函数中,这意味着您的循环从值0开始,当值为4时结束。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56059516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档