while...else:while判斷條件不成立時,執行else語句;
語法:
while 判斷條件:
語句1....
else:
語句2....
i初始值為2,i>0成立,則執行while語句;當i=0,i>0不成立,則就會執行else語句打印no。
i = 2
while i > 0:
print('ok')
i -= 1
else:
print('no')
#執行結果
ok
ok
no
當i==1時跳出循環,是使用break跳出循環,並沒有影響i的值,i>0還是成立,所以不會去執行else,執行結果就不會打印no。
i = 2
while i > 0:
print('ok')
i -= 1
if i == 1:
break
else:
print('no')
#執行結果
ok
for...else:for循環完成時,執行else語句;
語法:
for <var> in <seq>:
語句1...
else:
語句2...
代碼中完成了兩次循環,所以打印兩次ok后,直接運行else語句打印出no。
for i in range(1,3):
print('ok')
else:
print('no')
#執行結果
ok
ok
no
代碼中當i==1時,執行break跳出for循環,所有的循環並沒有執行完成,所以不會執行else語句。
for i in range(1,3):
print('ok')
if i == 1:
break
else:
print('no')
#執行結果
ok
