jac*_*.py 0 python syntax for-loop
在 if/elif/else 语句中,elif如果 theif为假,则检查 s ,如果 theif和elifs 都为假,else则运行the 。
For 循环与else关键字类似- 如果循环没有遇到中断,则else运行内部代码。
因此,for 循环else相当于 if/elif/else 语句。然而,我的问题是,是否有等效于elif.
我认为这将是以下方面的事情:
运行 for 循环。如果没有break遇到,则进入下一个指定的循环
运行指定的 for 循环,如果没有break遇到,则进入下一个。
重复直到没有更多的循环,如果break到目前为止没有
遇到s ,则运行else.
我知道你可以模仿这种效果。正如您可以使用 if/else 语句来模拟elif:
if condition:
do_something()
else:
if another_condition:
do_something_else()
else:
default()
Run Code Online (Sandbox Code Playgroud)
你可以用 for 循环来做到这一点:
for x in y:
if condition:
break
else:
for n in m:
if another_condition:
break
else:
default()
Run Code Online (Sandbox Code Playgroud)
虽然上面的代码是有效的,就像 if/else 语句一样,但它很丑陋,我希望找到更好的替代方案。
不,如果你看一下语法中的for语句:
for_stmt:
| 'for' star_targets 'in' ~ star_expressions ':' [TYPE_COMMENT] block [else_block]
. . .
Run Code Online (Sandbox Code Playgroud)
它以一个 optional 结尾else_block,但没有别的。我相信,您的模拟效果与您所获得的一样好。
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |