我怎样才能正确地使用“ break”进入while循环?

时间:2019-03-31 23:48:02

标签: python

我正在尝试运行该程序,但出现错误提示:“ break”未正确循环。我已经搜索了一些答案以及错误的原因,不能在循环语句外使用break。

但是正如您所看到的,我正在尝试在while循环中使用“ break”。我是编程的新手,所以请不要介意代码的简单性。

View

我希望在用户输入“ N”后关闭正在运行的程序。

5 个答案:

答案 0 :(得分:2)

在这种情况下,您不必添加中断,键入N将覆盖while的条件。只需删除break语句即可。

答案 1 :(得分:0)

简而言之,在elsex == "s"的情况下,如果通过退出循环条件正常退出块,则执行False语句。如果您breakreturn超出一个块,或者引发异常,则不会执行该操作。

因此,没有意义将break语句放入循环的else块中,因为break语句旨在终止循环。

答案 2 :(得分:0)

“ break”只能在while循环内使用。您是否要停止执行程序?如果是这样,请使用exit()

例如:

import random

x = input("Rolar dado? Insira : S/N")

while x == "s":
        print("Nº dado:", random.randrange(1,7))
        x = input("Rolar dado? Insira : S/N")
else:
    print("Input was not equal to s")
    exit()

答案 3 :(得分:0)

当您退出缩进段时,while循环结束,因此,由于缩进发生了变化,else语句不在while语句中,这就是导致该问题的原因。

要获得所需的行为,您需要类似

while x == "s":
    print("Nº dado:", random.randrange(1,7))
    x = input("Rolar dado? Insira : S/N")
if x == "n":
    break

答案 4 :(得分:0)

只要条件为真,就会固有地保持循环。这样,在您的示例中,循环将持续到x ==“ s”,然后它将自动中断。

#Execute code as long as x is "s"
while x == "s":
        print("Nº dado:", random.randrange(1,7))
        #Get new input for x
        x = input("Rolar dado? Insira : S/N")
        #At this point, we've reached end of while loop, it'll check the condition again
        #If x is still "s", it'll start over at the print line
        #If x is no longer "s" (our condition fails), it stops looping

仅当您需要其他退出条件时才需要中断,例如,如果您只想等待最多3个输入,然后中断,

i = 0
while x == "s":
        i++
        print("Nº dado:", random.randrange(1,7))
        x = input("Rolar dado? Insira : S/N")
        if i == 3:
            break