Python循环编程,循环不运行

-1 python loops

我是Python的新手,虽然我正在从教程中逐字输入,但我得不到结果.基本上我期待从范围内得到多个答案,但我只得到一个结果.

>>> sum = 0
>>> for i in range (10): sum = sum + i
>>> print (sum)    
45
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

Lev*_*von 8

请注意,使用sum是一个坏主意,因为 sum()已经是Python内置函数.我total在这里使用:

total = 0
for i in range(10): 
    total = total + i  # same as total += i
    print(total)   
Run Code Online (Sandbox Code Playgroud)

得到:

0
1
3
6
10
15
21
28
36
45
Run Code Online (Sandbox Code Playgroud)

这是您期望/想要的输出吗?

在Python中,空格/缩进是至关重要的,因此如果您希望语句成为函数/循环/等的一部分,则需要将其缩进到与块中其他语句相同的级别.

相比之下,您的原始代码看起来更像传统格式:

total = 0
for i in range(10): 
    total = total + i  # same as total += i
print(total)
Run Code Online (Sandbox Code Playgroud)

所以你可以看到print只在循环执行完毕后才调用一次.缩进使两个版本之间产生差异.

最后, PEP8 - Python的风格指南中提到,就必须有函数名和参数之间没有空格,所以range(10)最好range (10),print()print ()

对于任何Python程序员来说,PEP 8都是很好的读物.