【问题标题】:python 3.5 : quit a if loop (or other loops) [duplicate]python 3.5:退出 if 循环(或其他循环)[重复]
【发布时间】:2016-07-07 18:40:55
【问题描述】:

运行程序时,要求用户输入一个数字。如果数字为 1,则退出程序。如果数字不是 1,则打印该数字。

我想知道如何实现这一点。

我正在使用 python 3.5。

我的代码是这样的。我总是收到错误:'break' outside loop

我该如何解决这个问题?

x = input('Please input a number: ')
if x == '1':
    print('quit')
    break
else:
    continue
print(x)

【问题讨论】:

  • 循环在哪里?如果只是检查值.. 你没有要打破的循环
  • 因为你需要循环。找出一般编程语言中 break 和 continue 的用法。

标签: python python-3.x


【解决方案1】:

您在循环外得到错误中断,因为关键字 break 用于跳出循环。你在循环之外使用它,所以你得到了错误。要退出应用程序,您不应使用 break。相反,您应该使用:

sys.exit(0)

所以现在你的代码应该是这样的:

x = input('Please input a number: ')
if x == '1':
    print('quit')
    sys.exit(0)
else:
    print(x)

你也不需要 else 语句中的 continue 。您可以简单地将 else 语句留空,程序将继续运行,或者您可以将 print(x) 放在 else 语句中,就像我对您的代码所做的那样。

【讨论】:

    【解决方案2】:

    这不是您退出应用程序的方式。试试sys.exit(error),其中error是错误号。

    break 允许您转义循环,如下所示:

    while True:
        line = 'test'
        if line = 'test':
            break
    print "now I'm not in the loop"
    

    【讨论】:

      【解决方案3】:

      您的代码中没有循环,因此您需要添加一个 while 语句。将条件设置为 True 以使其始终运行。您也不需要 else continue 语句,因为它会跳过 print(x)。 X 会自动转换为整数,因此请将其转换为字符串。

      while True:    
          x = input('Please input a number: ')
          if str(x) == "1":
              print('quit')
              break
          print(x)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-30
        相关资源
        最近更新 更多