coco饶 发表于 2021-7-9 19:14:17

用for循环求1到3的和

sum=0
for x in range (1,4):
sum+=x
print(sum)
6

各位大神,请问为什么答案是6啊。
不是sum+=x,sum=sum+x已经赋值了呀
那sum=0+1=1
   sum=1+2=3
   sum=3+3=6
最后print(sum)不应该是 1+3+6=10 吗?








basketmn 发表于 2021-7-9 20:30:02

遍历x为1,2,3相加难道不等于6

柿子饼同学 发表于 2021-7-9 20:30:56

嗯?我这里运行一下是6呀>>> for i in range(1, 4):
        print(i, end = ' ')

1 2 3
>>> sum = 0
>>> for i in range(1, 4):
        sum += i

>>> sum
6
>>>

Twilight6 发表于 2021-7-9 20:33:52



sum += x 等价于sum = sum + x

每次循环都将 sum 重新赋值,不是每次都将 sum 进行叠加啊

柿子饼同学 发表于 2021-7-9 20:34:51

柿子饼同学 发表于 2021-7-9 20:30
嗯?我这里运行一下是6呀

你要是不理解拷一下我的程序>>> sum_ = 0
>>> for i in range(1, 4):
        print('现在sum_是', sum_)
        print('这次加', i)
        sum_ += i
        print('加过了,循环继续~')
        print()
自己运行一下,好好想想

柿子饼同学 发表于 2021-7-9 20:36:04

Twilight6 发表于 2021-7-9 20:33
sum += x 等价于sum = sum + x

每次循环都将 sum 重新赋值,不是每次都将 sum 进行叠加啊

啊我懂他意思了

Twilight6 发表于 2021-7-9 20:39:08

柿子饼同学 发表于 2021-7-9 20:36
啊我懂他意思了

{:7_142:}
页: [1]
查看完整版本: 用for循环求1到3的和