Bah*_*til 31 python loops do-while
为什么Python没有像许多其他编程语言那样的'do while'循环,比如C?
示例:在C中我们执行while循环,如下所示:
do {
statement(s);
} while( condition );
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 57
没有do...while循环,因为没有很好的方法来定义适合statement: indented block每个其他Python复合语句使用的模式的循环.因此,添加此类语法的提议从未达成一致.
也没有必要有这样的结构,而不是你可以这样做:
while True:
# statement(s)
if not condition:
break
Run Code Online (Sandbox Code Playgroud)
并具有与C do { .. } while condition循环完全相同的效果.
拒绝[...]因为没有出现可能与以下形式竞争的语法:
Run Code Online (Sandbox Code Playgroud)while True: <setup code> if not <condition>: break <loop body>对于基本的do-while循环,发现了PEP中提出的语法替代语法,但由于条件位于顶部,因此它几乎得不到支持:
Run Code Online (Sandbox Code Playgroud)do ... while <cond>: <loop body>
或者,正如Guido van Rossum所说:
请拒绝PEP.沿着这些方向的更多变化不会使语言更优雅或更容易学习.他们只是节省了一些急躁的人一些打字,同时让那些必须阅读/维护他们的代码的人想知道这意味着什么.
小智 8
因为大家都看错了。你不想做...而你想做...直到。
如果初始条件为真,则 WHILE 循环可能就是您想要的。另一种选择不是 REPEAT ... WHILE 循环,而是 REPEAT ... UNTIL 循环。初始条件一开始为 false,然后重复循环直至其为 true。
明显的语法是
repeat until (false condition):
code
code
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,这超出了每个人的头脑。
| 归档时间: |
|
| 查看次数: |
27183 次 |
| 最近记录: |