Python 内部中断函数

新手上路,请多包涵

我正在使用 Python 3.5,我想在函数中使用 break 命令,但我不知道如何使用。我想使用这样的东西:

 def stopIfZero(a):
    if int(a) == 0:
        break
    else:
        print('Continue')

while True:
    stopIfZero(input('Number: '))

我知道我可以使用这段代码:

 while True:
    a = int(input('Number: '))
    if a == 0:
        break
    else:
        print('Continue')

如果你不关心 print('Continue') 部分,你甚至可以这样做一行: while a != 0: a = int(input('Number: ')) (只要 a 已经分配给 0 以外的东西)但是,我想使用一个函数,因为其他时候它会有很大帮助。

谢谢你的帮助。

原文由 nedla2004 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 685
2 个回答

通常,这是通过返回一些值来完成的,该值让您决定是否要停止 while 循环(即某些条件是真还是假):

 def stopIfZero(a):
    if int(a) == 0:
        return True
    else:
        print('Continue')
        return False

while True:
    if stopIfZero(input('Number: ')):
        break

原文由 JCOC611 发布,翻译遵循 CC BY-SA 3.0 许可协议

函数不能 break 代表其调用者。 break 在句法上必须在循环内。

原文由 user2357112 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题