为什么这个while循环使程序无限次打印出我的句子?

时间:2014-10-12 11:05:42

标签: python while-loop

x = 1
while True:
    print("This is line number %d"%(x))
    x += 1

对我来说似乎合乎逻辑,我将x与数字1相等。所以下一行说:"虽然x等于1,但是打印出这句话。" ..但是然后我把线放在" x + = 1",这意味着x每次都会变得更大......所以x第二次应该等于2,所以" x = 1&# 34;是不是真的,为什么它仍然保持印刷呢?我不会忘记,而且循环非常好,如果有人能向我解释那就太棒了!

2 个答案:

答案 0 :(得分:1)

您需要在while之后放置条件。在您的情况下,条件True当然总是True,这就是您获得无限循环的原因。

另外请务必不要将作业(=)与比较(==)混淆。

x = 1         <-- assign 1 to x
while x == 1: <-- check if x is equal to 1
    print("This is line number %d" % x)
    x += 1
print(x)      <-- outputs "2"

答案 1 :(得分:0)

因为正确

在每次迭代中,将检查条件, WHILE 循环的条件始终为True。作为真实的条件,循环继续下去。因此,你将获得无限循环。