【问题标题】:Repeat-until or equivalent loop in Python [duplicate]Python中的重复直到或等效循环[重复]
【发布时间】:2013-05-21 11:05:24
【问题描述】:

我是 Python 编程的初学者。我正在尝试使用格雷厄姆的扫描方法找到凸包的算法。但是,在伪代码中,有一个repeat ... until 循环,我想不出用Python 编写它的方法。

如何在 Python 中编写 repeat ... until 循环?

【问题讨论】:

  • 作为旁注,谷歌在询问重复直到等效时重定向到这里。因此,在其他语言中,如果存在,do-whilerepeat-until除了 条件 是逻辑反转

标签: python loops


【解决方案1】:
REPEAT
    ...
UNTIL cond

等价于

while True:
    ...
    if cond:
        break

【讨论】:

  • if cond 是错误的。对于 Python,它必须是 if not cond,对于 Java、C、C++,它必须是 if !(cond)
  • @snr,当cond 为真时,两个循环都退出
  • 前两个 cmets 似乎矛盾,第一个有赞成票。哪个是对的?也许和例子会有助于澄清?
  • @Robin 的混淆很好地说明了while cond do {}repeat {} until cond 循环之间的常见混淆。 while 循环只要其条件为True 就继续,重复循环继续直到其条件为True。 @snr 是错误的,但这是一个常见的错误。比较:while must_continue: commandwhile True: command; if not must_continue: break。你可以用repeat做相反的事情,但你永远不会看到这些例子,因为repeat的语言通常也有while
  • @Robin:第一条评论确实是错误的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-17
  • 2021-05-25
  • 1970-01-01
  • 2017-03-13
  • 2015-09-23
  • 1970-01-01
相关资源
最近更新 更多