Discuss / Python / 累加

累加

Topic source

WuLi浩浩丶

#1 Created at ... [Delete] [Delete and Lock User]

这是按照文中所敲,语法无效:

for x in [1,2,3,4,5,6,7,8,9,10]: ... sum = sum + x ... print(sum) File "<stdin>", line 3 print(sum) ^ SyntaxError: invalid syntax

我再把打印放循环里就可以(并不是教程里的):

for x in [1,2,3,4,5,6,7,8,9,10]: ... sum = sum + x ... print(sum) ... 1 3 6 10 15 21 28 36 45 55

细板面

#2 Created at ... [Delete] [Delete and Lock User]

你所说的“按照文中的所敲的”和文章中的一样?你再好好看看报错那行

我也有这个问题,赋值粘贴上去的,为什么?

zxxxd1994

#4 Created at ... [Delete] [Delete and Lock User]

在for循环前面加上sum = 0即可。如果不加,sum在for循环中第一次定义,则只能用在for循环中。出循环则失效,导致print(sum)报错。

sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: ... sum = sum + x ... print(sum) File "<stdin>", line 3 print(sum) ^ SyntaxError: invalid syntax

为什么??求大佬帮助

浅柠一笑

#7 Created at ... [Delete] [Delete and Lock User]

因该是你print缩进的问题。

常常23333

#8 Created at ... [Delete] [Delete and Lock User]

这个要涉及到作用域的知识了。 要先声明一个变量,再用函数去改变它,就能正常输出。 如果在函数里面声明,函数结束后,会删除函数里面的临时变量。再输出就不行了。

@狗屁爱情999

sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum)

如上所示,print语句不要写到for循环中,即前方不应该有空格缩进

sum = sum + x 是for循环的一个步骤,print则是完成循环后打印最终的结果

所以sum语句应该在循环中,而print语句不应在循环中

@浅柠一笑 实际上我并没有缩进。。。是复制粘贴命令行上的结果到这里就这样了。。。


  • 1
  • 2

Reply