我有一个保存在.py中的Python代码,但是这些命令并没有像它们应该发生的那样发生

2024-09-30 22:25:10 发布

您现在位置: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

我认为这是不正确的

所以,我得到的是我犯了一个错误,而过度打字(wivh我肯定已经纠正)或是这个代码是一个错误的代码已经被错误地用在应用程序

或者python的版本改变了,这样就不工作了


Tags: 代码版本应用程序错误教程okprint过度
2条回答

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

  • 也许这行代码不在源代码中。请确认线路是否存在。

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

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

你知道吗

i = 1

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

修正压痕。当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代码。这样的话,压痕错误的时候就更明显了。你知道吗

相关问题 更多 >