我有一个保存在.py中的Python代码,但命令不会发生

时间:2017-01-10 19:46:31

标签: python

i = 1

while i <=5:
 print (i)
 i=i + 1 
print ("ok")

所以这不是我的代码,而是关于sololearn的python教程

它应输出:

1
2
3
4
5

然后停止

但是当我这样做时,我得到一个1的循环

1
1
1
1
1

我认为这不是核心

所以我得到的是我在改写过程中犯了错误(我肯定已经纠正过)或者这个代码是错误的代码在应用程序中被错误地使用了

或者更改了python版本,所以这不再起作用了

2 个答案:

答案 0 :(得分:5)

修复缩进。当i = i + 1不在循环中时会发生这种情况。

您正在运行此代码,该代码无限运行并打印1

i = 1
while i <= 5:
    print(i)
i=i + 1 
print("ok")

但你想要这个:

i = 1
while i <= 5:
    print(i)
    i = i + 1 
print("ok")

此外,始终使用四个空格来缩进Python代码。这样,当缩进错误时,它会更加明显。

答案 1 :(得分:0)

由于某种原因,递增i的行未在循环中执行。有几个可能的原因:

  • 也许该行不在您的源代码中。请确认该行是否存在。

  • 也许这条线被注释掉了。 Python程序中的注释字符为#。确保该字符不会出现在该行的任何位置。

  • 也许,在我看来这是最有可能的,这条线没有正确缩进。在Python中,缩进很重要。循环体必须比while行缩进。未缩进的第一行标记循环的结束。确保您的代码不是这样的:

i = 1

while i <=5:
    print (i)
i=i + 1 
print ("ok")
  • 您可能缺少标签和空格。请确保程序中的所有缩进都是制表符或专用空格字符,而不是两者的混合。 Python社区的共识是始终使用空格,而不是标签。