所以我在做 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 循环结束。
所以你的代码是这样做的:
-
count = 0,count <= 5->True,count += 1使count = 1, 打印1. -
count = 1,count <= 5->True,count += 1使count = 2, 打印2. -
count = 2,count <= 5->True,count += 1使count = 3, 打印3. -
count = 3,count <= 5->True,count += 1使count = 4, 打印4. -
count = 4,count <= 5->True,count += 1使count = 5, 打印5. -
count = 5,count <= 5->True,count += 1使count = 6, 打印6. -
count = 6,count <= 5->False, 结束循环。
您可以在打印后增加计数器:
while count <= 5:
print(count)
count += 1
或者你可以使用 <只允许小于 5 的数字 :
while count < 5:
count += 1
print(count)
