Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.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 为什么这个while循环会让程序无限次地打印我的句子?_Python_While Loop - Fatal编程技术网

Python 为什么这个while循环会让程序无限次地打印我的句子?

Python 为什么这个while循环会让程序无限次地打印我的句子?,python,while-loop,Python,While Loop,在我看来,用数字1等于x是合乎逻辑的。所以下一行说:“虽然x等于1是真的,但打印出这个句子。”。。但我把线“x+=1”,这意味着x每次都会变大。。。所以第二次x应该等于数字2,所以“x=1”不是真的,那么为什么它仍然保持打印呢?我不理解While循环,所以如果有人能给我解释一下,那就太好了 您需要将条件置于while之后。在你的例子中,条件True当然总是True,这就是为什么你会得到一个无限循环 另外,请确保不要将赋值(=)与比较(=)混淆 x=1因为而为True 在每次迭代中,将检查条件,W

在我看来,用数字1等于x是合乎逻辑的。所以下一行说:“虽然x等于1是真的,但打印出这个句子。”。。但我把线“x+=1”,这意味着x每次都会变大。。。所以第二次x应该等于数字2,所以“x=1”不是真的,那么为什么它仍然保持打印呢?我不理解While循环,所以如果有人能给我解释一下,那就太好了

您需要将条件置于
while
之后。在你的例子中,条件
True
当然总是
True
,这就是为什么你会得到一个无限循环

另外,请确保不要将赋值(
=
)与比较(
=
)混淆


x=1因为而为True


在每次迭代中,将检查条件,WHILE循环的条件始终为
True
。当条件为真时,循环将继续进行。因此你得到了无限循环。

while True:/while x==1:
?你说的是“那么下一行说:while it's True,x=1”。你说的不对。下一行只显示
,而True:
。True是一个布尔值。就像1是一个整数值一样。希望这有助于每次我使用while循环作为“while True:”,我总是会得到一个无限循环?如果我输入“While(x<4):”,我会得到一个在某一点停止的循环?@Tymu888是的,你会得到无限循环
x = 1
while True:
    print("This is line number %d"%(x))
    x += 1
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"