Joh*_*ard 6 python for-loop if-statement python-3.x
以下python代码将导致打印n(14),因为for循环已完成.
for n in range(15):
if n == 100:
break
else:
print(n)
Run Code Online (Sandbox Code Playgroud)
但是,我想要的是与此相反.有没有办法做一个... else(或while ... else)循环,但只有在循环确实中断时才执行else代码?
In *_*ico 16
for...elseifbreak在Python(或我所知的任何语言)中没有明确的类似构造,因为你可以简单地这样做:
for n in range(15):
if n == 100:
print(n)
break
Run Code Online (Sandbox Code Playgroud)
如果你有多个breaks,请print(n)输入一个函数,这样你就不要重复自己了.
如果你在循环中打破多个点并且不想重复代码,则使用异常的更通用的解决方案:
try:
for n in range(15):
if n == 10:
n = 1200
raise StopIteration()
if n > 4:
n = 1400
raise StopIteration()
except StopIteration:
print n
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2591 次 |
| 最近记录: |