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-while
是 repeat-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: command
和 while True: command; if not must_continue: break
。你可以用repeat
做相反的事情,但你永远不会看到这些例子,因为repeat
的语言通常也有while
。
@Robin:第一条评论确实是错误的。以上是关于Python中的重复直到或等效循环[重复]的主要内容,如果未能解决你的问题,请参考以下文章