python 3.1 boolean check with for循环

Pin*_*kle 2 python

如何在for循环中添加布尔检查?我正在尝试这样的事情:

for i in range (0, someNumber) and keepGoing == True
Run Code Online (Sandbox Code Playgroud)

它给了我错误'bool'对象不可迭代.谢谢您的帮助.

Zek*_*eke 7

这不像C中的for循环; 你在这里做的是创建一个范围对象并迭代它中的每个元素(在其中命名为"i").在C中,您可以在循环迭代期间进行多次检查,但在Python中,您可以迭代可迭代对象(如列表或元组).

for i in range(0, someNumber):
    if keepGoing:
        # Code
Run Code Online (Sandbox Code Playgroud)

基本上,你不能设置一个标志来停止循环,因为"循环"将遍历整个范围对象.添加"停止标志"的唯一方法是break退出循环.

for i in range(0, someNumber):
    if not keepGoing:
        break
    else:
        # Code
Run Code Online (Sandbox Code Playgroud)

甚至

for i in range(0, someNumber):
    if not keepGoing:
        break
    # Code
Run Code Online (Sandbox Code Playgroud)

  • @Zeke以为我会告诉你,你解决了我的问题两次.我在2010年为一个学校项目搞砸了Python,从那时起它还没有真正使用它.快进一年,我有另一位助教班的学生带着类似的问题来找我.我谷歌问题,我发现了这个.我觉得这很有趣. (3认同)