1. 程式人生 > >條件判斷之if語句

條件判斷之if語句

因此 if語句 == 打印 可能 quest elif opp adding

  if語句

  每條if語句的核心都是一個值為True或False的表達式,這種表達式被稱為條件測試。Python根據條件測試的值為True還是False來決定是否執行if語句中的代碼。如果條件測試的值為True,Python就執行緊跟在if語句後面的代碼;如果為False,就忽略這些代碼。

age = 18
if age == 18:
    print (hello world)
>>>hello world

  #如果age不等於18,將沒有任何輸出。在if語句中,縮進的作用與for循環中相同。如果測試通過,將執行if語句後面所有縮進的代碼,否則將忽略他們。

  if-esle語句

  當條件測試通過時,執行一個操作,但是當條件測試沒有通過時,執行另一個操作。可以使用if-else語句,其中的else語句能夠在指定條件測試未通過時要執行的操作。

age = 18
if age == 19:
    print (hello world)
else:
    print(hello)
>>> hello

  以上代碼之所以可行,是因為只存在兩種條件:age等於18或者不等於18。

  if-elif-else語句

  當需要檢查超過兩個條件時,應使用 if-elif-else 語句。Python只執行 if-elif-else 結構中的一個代碼塊,它一次檢查每個條件測試,直到遇到通過了的條件測試。測試通過後,Python將執行緊跟在他後面的代碼,並跳過余下的測試。

  購票系統

  • 4歲以下免費
  • 4-18歲票價10元
  • 18歲(含)以上票價20
age = 12
if age < 4:
    price = 0
elif age < 18:
    price = 10
else:
    price = 20
print(You admission cost is  + str(price) + .)

  使用多個 elif 代碼塊

  在購票系統中再增加一個條件:65歲(含)以上的老人,即可半價(10元)

age = 12
if age < 4:
    price = 0
elif
age < 18: price = 10 elif age < 65: price = 20 else: price = 10 print(You admission cost is + str(price) + .)

  新增age<65條件,通過檢查確定年齡不到65歲後,才將票價設置為20,在else中,必須將值改為10,因為僅當年齡超過65時,才會執行這個操作。

  省略else代碼塊

age = 12
if age < 4:
    price = 0
elif age < 18:
    price = 10
elif age < 65:
    price = 20
elif age >=65
    price = 10
print(You admission cost is  + str(price) + .)
    

  最後的elif代碼在年齡超過65(含)時,將價格設置為10,這樣修改後,每個代碼都在僅通過了相應的測試時才會執行。

  else是一條包羅萬象的語句,只要不滿足任何if或elif中的條件測試,代碼就會執行。有可能會引入無效數據。如果知道最終要的測試的條件,應考慮使用一個elif來代替else。

  測試多個條件

  if-elif-else結構僅適合用於只有一個條件滿足的情況:遇到通過了的測試後,Python就跳過余下的測試。但是,有時候必須檢查所有關心的條件。這種情況下,應使用一系列不包含elif和else代碼的簡單if語句。在可能有多個條件為True,且需要在每個條件為True時都采取相應措施。

  披薩加配料

1 requested_toppings = [mushrooms,extra cheese]

2 if mushrooms in requested_toppings:
      print (Adding mushrooms)
3 if pepperoni in requested_toppings:
     print (Adding pepperoni)
4 if extra cheese in requested_toppings:
     print (Adding extra cheese)
5 print (Finished making your pizza!)

  1. 創建一個列表,包含配料。

  2.檢查顧客是否點了配料 ‘mushrooms‘,如果點了,就打印一條確認消息。

  3.檢查顧客是否點了配料 ‘pepperoni‘,此處用的是if語句,而不是elif或else語句;因此不管前面一個測試是否通過,都將進行這個測試。

  4.檢查顧客是否點了配料‘ extra cheese‘,不管前面兩個測試的結果如何,都會執行這些代碼。

  輸出結果

>>> Adding mushrooms
>>> Adding extra cheese
>>> Finished making your pizza!

條件判斷之if語句