循环分配

时间:2013-09-19 20:28:13

标签: python loops while-loop variable-assignment break

# 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:

任何帮助澄清这一点都将不胜感激。

3 个答案:

答案 0 :(得分:0)

count为0,因此while count永远不会进入循环,因为在布尔上下文中0为False。

Python没有类似于其他语言中的repeat ... until (condition)的构造。因此,如果您希望循环始终开始,但只在条件变为真时结束,那么通常的方法是将条件设置为True - 显然,这总是正确的 - 然后显式测试循环中的条件,并使用break突破。

要回答你的评论,这里真实的只是价值True,正如我所说的那样。

答案 1 :(得分:0)

如果您在调试器中逐步执行代码(一个允许这是PyScripter的简单ide),它会有所帮助。

只是一些评论:

  • while True是一个无限循环。它只能由breakreturn声明保留。
  • 因此循环将一直运行,直到满足条件count > 10。中断将终止循环,并执行下一个命令(input ...)。
  • 如果count == 5continue告诉python立即将到循环的开头而不执行以下语句(因此不会打印“5”)。< / LI>

但是:按照调试器中的代码进行操作!

答案 2 :(得分:0)

while循环的语法是&#34;而 condition 。&#34; while循环下面的块执行,直到 condition 计算为False或执行break命令。 &#34;而真实&#34;表示条件始终为True,除非执行中断,否则循环不会停止。由于python没有do while loop.

,这是一个常用的python习语。