Skip to main content
 首页 » 编程设计

python之为什么我的 while 循环输出越界值

2025年05月04日8duanxz

所以我在做 while 循环时发现了一些奇怪的事情。

count = 0 
 
while count <= 5: 
    count += 1 
    print(count) 

输出:

1 
2 
3 
4 
5 
6 

不是我不理解while循环。这就是为什么计数打印到六?什么时候应该打印 count仅当count小于或等于 5?

而且 6 超过了 5。这是为什么?

我知道我能做到

count = 0 
 
    while count != 5: 
        count += 1 
        print(count) 

但我只是想了解为什么将 <=行为古怪?

请您参考如下方法:

<= 没有什么奇怪的;您的循环条件允许数字达到 并包括 5 .但是你增加了count然后然后打印它,所以你会打印6最后。

那是因为 count = 5满足你的循环条件,然后你加一个使其成为6并打印。下次通过循环count <= 5不再为真,只有 then 循环结束。

所以你的代码是这样做的:

  1. count = 0 , count <= 5 -> True , count += 1使 count = 1 , 打印 1 .
  2. count = 1 , count <= 5 -> True , count += 1使 count = 2 , 打印 2 .
  3. count = 2 , count <= 5 -> True , count += 1使 count = 3 , 打印 3 .
  4. count = 3 , count <= 5 -> True , count += 1使 count = 4 , 打印 4 .
  5. count = 4 , count <= 5 -> True , count += 1使 count = 5 , 打印 5 .
  6. count = 5 , count <= 5 -> True , count += 1使 count = 6 , 打印 6 .
  7. count = 6 , count <= 5 -> False , 结束循环。

您可以在打印后增加计数器:

while count <= 5: 
    print(count) 
    count += 1 

或者你可以使用 <只允许小于 5 的数字 :

while count < 5: 
    count += 1 
    print(count)