Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python循环编程,循环未运行_Python_Loops - Fatal编程技术网

Python循环编程,循环未运行

Python循环编程,循环未运行,python,loops,Python,Loops,我是Python新手,虽然我在教程中逐字逐句地输入,但没有得到应有的结果。基本上,我期望从这个范围中得到多个答案,但我只得到一个结果 >>> sum = 0 >>> for i in range (10): sum = sum + i >>> print (sum) 45 我错在哪里?事实上,这是你应该期待的正确答案。(希望你不介意用一点JS来证明我的观点) 现在,如果希望循环的每次迭代都打印sum变量,则应修改代码,使其如下所示:

我是Python新手,虽然我在教程中逐字逐句地输入,但没有得到应有的结果。基本上,我期望从这个范围中得到多个答案,但我只得到一个结果

>>> sum = 0
>>> for i in range (10): sum = sum + i
>>> print (sum)    
45

我错在哪里?

事实上,这是你应该期待的正确答案。(希望你不介意用一点JS来证明我的观点)

现在,如果希望循环的每次迭代都打印
sum
变量,则应修改代码,使其如下所示:

sum = 0
for i in range (10):
    sum = sum + i
    print (sum) 

间距在Python中很重要。非常重要。

这里没有问题。在每一步中,你要把下一个数字加到和上,所以在每一步中,它是0,1,3,6,…,45。然后你把答案打印出来

如果要打印每个步骤,需要确保打印在for块内:

for i in range (10):
    sum = sum + i
    print (sum)
(注意缩进)

注意:不要使用
sum
作为变量名。它已经是一个全局函数,因此通过赋值
sum=0
您正在删除旧的含义-在一个新的python shell中检查
sum(范围(10))
请注意,使用
sum
是一个坏主意,因为它已经是python内置函数了。我在这里使用
total

total = 0
for i in range(10): 
    total = total + i  # same as total += i
    print(total)   
给出:

0
1
3
6
10
15
21
28
36
45
这是您期望/想要的输出吗

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

相比之下,您的原始代码的格式更为传统:

total = 0
for i in range(10): 
    total = total + i  # same as total += i
print(total)
因此,您可以看到,
print
仅在循环完成执行后被调用一次。缩进使两个版本之间完全不同

最后,提到应该有,因此
range(10)
优先于
range(10)
print()
优先于
print()
,等等


对于任何Python程序员来说都是很好的读物。

你所说的
到底是什么意思?我期待着从范围
中得到多个答案。您是否正在尝试打印所有数字b/w
0-10
而不是您应该为xrange(10)中的i执行的
:打印i
为什么会得到多个结果?问题是?我投票结束这个问题,因为它太基本了。如果你想学习Python,最好读一本书。现在,如果您所遵循的教程没有意义,您应该找到另一个教程并继续阅读,直到您掌握Python的基本原理。这样,一旦你真的陷入困境,你可以来找我们,我们将很乐意帮助你。:)如果你违背了我所见过的每一个教程的内容,在你还不了解基本知识之前就试图发明你自己的编码风格,那你就错了。我所遵循的Alison教程就在这里:非常感谢,但即使复制你的代码行,它也会打印一个答案,45,而不是其他答案。我遵循的教程来自Alison(),他们使用“总和”而不是“总和”,我仍然只得到45个结果,其他结果都没有。非常令人沮丧。@endarandom好的,我的第一段可以工作(我测试了它,您看到的输出就是它生成的)。我想知道,当你复制/粘贴它时,你是否会看到一些难以识别的标签和空白。由于代码很短,我建议您只键入这几行。如果要逐行执行,请确保缩进。你在Windows下工作吗?你在用IDLE吗?@endarandom让我知道你是怎么做的——这相当直接,所以我们应该让它工作起来。我想知道教程的内容。。。这是官员,以防你想查一下。