【问题标题】:In Python, how to use "break" in while loop within single line? [duplicate]在 Python 中,如何在单行的 while 循环中使用“break”? [复制]
【发布时间】:2020-11-28 09:49:11
【问题描述】:

只想问一个简单的问题。

因为我尝试将以下代码写成单行,

  • 之前:
while True: 
    print('Hello world')
    break
  • 之后:
while True: print('Hello world') break
  • 错误信息:
File "<ipython-input-19-cd7b3be1f22e>", line 1
    while True: print('Hello world') break
                                         ^
SyntaxError: invalid syntax
  • 试过了:
while True: print('Hello world')
    break
  • 再次出现错误消息:
File "<ipython-input-20-0ecfc981712d>", line 2
    break
    ^
IndentationError: unexpected indent

如果我想用它来停止单行内的while循环,有什么想法可以正确给出“break”吗?

提前致谢。

【问题讨论】:

  • 你可以用print('Hello world')把它放在一行中,它做同样的事情。 break 只有在有条件的情况下才有用。
  • Python 的设计目的不是为了方便将所有可能的程序放在一行中。
  • @user2357112supportsMonica 没错,事实上 Python 的哲学是代码可读性,人们应该避免像缩小 jQuery 的怪物那样缩小 JavaScript

标签: python


【解决方案1】:

试试这个代码

while True: print('Hello world'); break

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
  • 感谢提醒:) 毫无疑问,缩进对于分隔 Python 中的不同代码块(例如条件表达式、for 循环、while 循环...)很重要。这就是为什么我认为我可以纯粹使用缩进将“中断”与 while 循环的其他部分分开。 Python 中的分号似乎在某些情况下仍然有效,尽管在大多数情况下它是无用的。此外,这也是 Python 与 JavaScript 或 C 等其他语言相比的特点。
  • 谢谢你可以编辑我的回答
  • 英语对我来说不太流利,所以我添加了小英语
【解决方案2】:

你基本上可以在一行语句中使用;

while True: 
    print('Hello world')
    break

基本上这是等价的

while True: print('Hello world'); break

【讨论】:

    【解决方案3】:

    您可以使用分号。(;)

    像这样:

    while True: print('Hello world'); break
    

    但这不是一个好主意。因为 Python 使用缩进来标记块。

    【讨论】:

    • 是的,你完全正确。我认为我在 Python 中很少看到分号的原因是它们的功能已被缩进取代。很高兴知道这一点。感谢您的建议:)
    【解决方案4】:

    就像在 JavaScript、Java 和 C 等语言中一样,您可以编写:

    while True: print('Hello World'); break;
    

    使用分号分隔语句

    【讨论】:

      猜你喜欢
      • 2021-07-30
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      相关资源
      最近更新 更多