无法理解函数求和数字的方式

时间:2019-05-14 09:37:30

标签: python

我看到它依次为y=4+(3*0)=4y=4+(3*1)=7。但是13个来自y=4+(3*2)=13的地方在哪里?

x=3
y=4

for i in range (10):
    y=y+x*i
    print(y)

3 个答案:

答案 0 :(得分:4)

y在每次迭代中都会更改。因此,替换为y + x*i的值也会发生变化。

y = 4 + (3*0) = 4
     ___________|
    ↓
y = 4 + (3*1) = 7
     ___________|
    ↓
y = 7 + (3*2) = 13
     ___________|
    ↓
y = 13 + (3*3) = 22

...

答案 1 :(得分:1)

y一直在变化,并且在i为1之后被更改为7。

您还需要在for循环中添加y = 4。

x=3

for i in range (10):
    y=4
    y=y+x*i
    print(y)

或更好地更改结果变量:

x=3
y=4

for i in range (10):
    a=y+x*i
    print(a)

答案 2 :(得分:0)

第一个循环: i = 0 : y = 4+(3 ​​ 0)= 4

第二个循环: i = 1 : y = 4 +(3 * 1)= 7

第三循环: i = 2 : y = 7 +(3 * 2)= 13