熱線電話:13121318867

登錄
首頁精彩閱讀else有幾種寫法?
else有幾種寫法?
2022-04-19
收藏
else有幾種寫法?

作者:小K

來源:麥叔編程

各位看官,大家好。

我是K乙己,今天我要跟大家說說else的四種寫法,希望大家喜歡。

第一種寫法,與if搭配

name = input("請輸入名字: ") if name == "K乙己": print("我喜歡吃茴香豆!") else: print("我愛學python!")

這種寫法估計學過2個小時的Python都知道這種用法,也是平時else最常見的用法。

這里的else沒啥好研究的,就是一個條件判斷語句,True是啥,False又是啥啥啥。

第二種寫法,與for搭配

沒想到了吧,else還能與循環語句的for合用。上代碼:

for n in range(1,101): if n%15 == 0: print(n) else: print("我愛學python!")

執行之后:

15 30 45 60 75 90 我愛學python! 

else語句在for語句結束后執行了。

嗨,反正都要執行到的,沒必要再寫個else語句。

剛開始我也是這么認為的,但是我試了以下代碼之后:

for n in range(1,101): if n%15 == 0: print('進入break') break else: print("我愛學python!")

輸出結果:

進入break 

由此,得出結論:

?

for與else結合的語句,只有當for循環完整的執行完,才會執行else里的語句。

如果中間有break跳出循環,則else里的語句不執行。

?

第三種寫法,與while搭配

上面我們試了下,else在for循環中的用法,那么else是否也能與while組合進行使用呢?一起證實下:

n = 0 while n < 100:
    n+=1 print(n) else: print("我愛學python!")

輸出結果:

1 2 3 ... 100 我愛學python! 

上面的執行輸出好像和for...else...用法一樣,循環執行完畢會執行else里的語句。

用代碼驗證猜想:

n = 0 while n < 100:
    n+=1 print(n) if n > 10: break else: print("我愛學python!")

輸出結果:

1 2 3 ... 11 

猜想成果被驗證,結論同for...else...用法。

第四種寫法,try...except...else...

這種寫法,在麥叔python每天三分鐘#090篇中出現過。

some_exceptions = [ValueError, TypeError, IndexError, None] for choice in some_exceptions: try:
        print(f"拋出 {choice}") if choice: raise choice("出異常啦!") else:
            print("順利完成,沒有異常") except ValueError:
        print("有一個ValueError") except TypeError:
        print("有一個TypeError") except Exception as e:
        print(f"最后捕獲其他異常: {e.__class__.__name__}") else:
        print("else里面的代碼只有在沒有異常的時候才執行!") finally:
        print("finally里的代碼不管有沒有異常都執行!")

有興趣的小伙伴可以回顧下#090篇。這里我用我的代碼簡單說明下:

try:
    a = 4 b = 4 c = a / b
except Exception as e: print(e) else: print("我愛學python!")

當try里語句能正常執行完(沒處理異常)的情況下,else里的語句會被執行。

輸出結果:

"我愛學python!" 

但是如果,try里語句執行的過程報了異常,那么else里的語句就不會被執行。

try:
    a = 4 b = 0 c = a / b
except Exception as e: print(e) else: print("我愛學python!")

輸出結果:

division by zero

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢