所以我在做 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)
但我只是想了解为什么 putting <=
表现得很奇怪?
原文由 Zion 发布,翻译遵循 CC BY-SA 4.0 许可协议
<=
没什么奇怪的;您的循环条件允许数字达到 并包括5
。但是你增加count
然后 打印它,所以你将打印6
最后。那是因为
count = 5
满足你的循环条件,然后你添加一个使其成为6
并打印。下一次循环count <= 5
不再为真, 然后 循环才结束。所以你的代码这样做:
count = 0
,count <= 5
->True
,count += 1
makescount = 1
, print1
.count = 1
,count <= 5
->True
,count += 1
makescount = 2
, print2
.count = 2
,count <= 5
->True
,count += 1
makescount = 3
, print3
.count = 3
,count <= 5
->True
,count += 1
makescount = 4
, print4
.count = 4
,count <= 5
->True
,count += 1
makescount = 5
, print5
.count = 5
,count <= 5
->True
,count += 1
makescount = 6
, print6
.count = 6
,count <= 5
->False
,结束循环。您可以在打印 后 增加计数器:
或者您可以使用
<
只允许 小于5
的数字: