Python中的重复直到或等效循环[重复]

Posted

技术标签:

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

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

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

【问题讨论】:

作为旁注,谷歌在询问重复直到等效时重定向到这里。因此,在其他语言中,如果存在,do-whilerepeat-until除了 条件 是逻辑反转 【参考方案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:第一条评论确实是错误的。

以上是关于Python中的重复直到或等效循环[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python中的等效代码(时间)[重复]

python中的调查/如何让用户退出调查[重复]

python中的pass和continue有啥区别[重复]

Python foreach等效[重复]

Python while 循环使用实例

vb中的循环语句