在學習python前,基於對於cpp的學習,對於else的印象就是,else與if要成對出現。但是在不久前,乙個在編寫100以內求素數的程式時偶然出現的縮排「錯誤」導致了我的疑惑。**如下:
#求100以內的素數之和.py
sum=
0for i in
range(2
,101):
for j in
range(2
,i):
if i%j==
0and i!=j:
break
else
:sum
+=iprint
(sum
)
奇怪的是,這個「錯誤」並沒有導致程式報錯,相反,這段程式恰恰能完成我們的目標。於是,我便對python中else的用法產生了興趣,故作此記。
else和if一起使用時,示例如下:
if 條件:
語句塊1
else
: 語句塊2
當條件為真時,執行語句塊1的內容;否則,執行語句塊2
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之後的語句
Python學習筆記之else的特殊用途
在python語法中,else的不僅能與if else構成判定語句,還可以用來與迴圈位置放在同樣的縮排位置上,對迴圈結束之後的一些額外資訊補充。如以下判斷質數的程式 usr bin python coding utf 8 defmain cnt 0 for n in range 2,24 for x...
Python學習筆記9 else與with語句
i 1while i 5 print i i 1else print i,5 1 2345 6 5i 1for i in range 1 11 print i else print else i 123 4567 8910else 10press any key to continue.def tr...
Python學習日記 else與with語句
上一次是針對錯誤和異常,今天從else和with語句對其進行補充 乙個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有乙個分支會被執行。處理程式將只針對對應的try子句中的異常進行處理,而不是其他的 try 的處理程式中的異常。乙個except子句可以同時處理多個異常...