# Finicky Counter
# Demonstrates the break and continue statements
count = 0
while True:
count += 1
# end loop if count greater than 10
if count > 10:
break
# skip 5
if count == 5:
continue
print(count)
input("\n\nPress the enter key to exit.")
为什么while循环适用于此情况下的计数?我不明白为什么布尔值正在计算计数的结果。不正确的语法是:
while count:
任何帮助澄清这一点都将不胜感激。
答案 0 :(得分:0)
count
为0,因此while count
永远不会进入循环,因为在布尔上下文中0为False。
Python没有类似于其他语言中的repeat ... until (condition)
的构造。因此,如果您希望循环始终开始,但只在条件变为真时结束,那么通常的方法是将条件设置为True
- 显然,这总是正确的 - 然后显式测试循环中的条件,并使用break
突破。
要回答你的评论,这里真实的只是价值True
,正如我所说的那样。
答案 1 :(得分:0)
如果您在调试器中逐步执行代码(一个允许这是PyScripter的简单ide),它会有所帮助。
只是一些评论:
while True
是一个无限循环。它只能由break
或return
声明保留。count > 10
。中断将终止循环,并执行下一个命令(input ...
)。count == 5
,continue
告诉python立即将跳到循环的开头而不执行以下语句(因此不会打印“5”)。< / LI>
但是:按照调试器中的代码进行操作!
答案 2 :(得分:0)
while循环的语法是&#34;而 condition 。&#34; while循环下面的块执行,直到 condition 计算为False或执行break命令。 &#34;而真实&#34;表示条件始终为True,除非执行中断,否则循环不会停止。由于python没有do while loop.
,这是一个常用的python习语。