Python學習筆記-else的用法
前言
在學習Python前,基於對於CPP的學習,對於else的印象就是,else與if要成對出現。但是在不久前,一個在編寫100以內求素數的程序時偶然出現的縮進“錯誤”導致了我的疑惑。代碼如下:
#求100以內的素數之和.py
sum=0
for i in range(2,101):
for j in range(2,i):
if i%j==0 and i!=j:
break
else:
sum+=i
print(sum)
奇怪的是,這個“錯誤”並沒有導致程序報錯,相反,這段程序恰恰能完成我們的目標。於是,我便對Python中else的用法產生了興趣,故作此記。
一.if - else
else和if一起使用時,示例如下:
if 條件:
語句塊1
else:
語句塊2
當條件爲真時,執行語句塊1的內容;否則,執行語句塊2
二.for/try/while - else
else語句也可以與for一起使用,示例如下:
for i in range(10):
語句塊1
else:
語句塊2
在for-else中,當for循環完整的執行過後,執行else裏的語句塊2;若for循環沒能完整地執行,如語句塊中的break語句被執行時,不執行else中的語句。
在try/while……else語句中同理。
總結
- 在if-else中,如果if條件不滿足,則執行else之後的語句
- 在for/while/try-else中,若for/while/try沒能正常執行完畢,則執行else之後的語句