1. 程式人生 > >Python趣味入門4:選擇往往是最重要的-條件語句

Python趣味入門4:選擇往往是最重要的-條件語句

人生處處有選擇,程式也有選擇,為了讓程式變得更加強壯,程式設計師必須考慮任何情況,上一篇瞭解到瞭如何使用Python來行順序語句的編寫,我們寫了一個可以輸入姓名的生日祝賀程式,今天我們挑戰條件語句!

1、條件語句

現實總是可悲的,人生的很多選擇都是無法重現的,比如你選擇了Python看到了這篇教程(恭喜你,做了無比正確的決定!)你永遠無法知道,如果你之前選擇了Java現在看的是什麼教程。
但是程式必須考慮到選擇的所有情況,因為程式是不斷地被執行的,天知道有什麼條件會觸發特定動作。傳說,俄羅斯的核按鈕隨身跟著總統,也許裡面的觸發條件語句永遠不會執行,但總要有人去寫它。

條件語句的寫法如下,條件成立和不成立都是子語句因此必須縮排:

if 判斷表示式:
  條件成立
else:
  條件不成立

 

小牛叔在疫情期間每天上班,都需要掃描二維碼填寫健康申報,會詢問你14天內有沒有去過湖北,如果有就會提示你有風險,如果沒有就提示無風險。這個程式怎麼寫呢?

if input('您在14內去過湖北嗎?')=='是':
    print('您有風險!')
else:
    print('暫無風險!')

  

大家在寫程式碼時,要注意如下的幾個問題:

  • 小寫:所有的語句大小寫敏感,大部分語句都是小寫,除非規定大寫。
  • 縮排: 子語句必須要縮排,否則程式會出錯。
  • 可省略else:可以省略else以及子語句表示不滿足條件時,直接向下執行。
  • 等號:判斷相等必須使用兩個等號
  • 冒號:if和else後面都要跟冒號,表示下行的語句是子語句,縮排會有變化。

2、邏輯判斷

if語句後緊跟著就是邏輯判斷,如下把兩個數字或變數連線在一起的就是邏輯判斷:

  • == 相等
  • >大於
  • <小於
  • >= 大於等於
  • <= 小於等於
  • != 不等於
  • is 是不是型別 (is None 是不是為空)
  • in 被包含其中 ('a' in 'abc'的值是真)

以上邏輯判斷表示式的結果只有兩個:True或是False (注意首字線必須大寫)。
此外,如下的這些表示式結果都是False:

"" #空字串
'' #空字串
[ ] #空列表
( ) #空元組
{ } #空字典
None #空值

3、邏輯運算

多個條件的組合可以使用: not, and, or。如果要求10歲以上的學生在疫情期間開學,其判斷程式要求:14天未出城並且年齡>=10。 就可以這麼寫條件:
假設年齡變數為age,14天內出城為變數traveled

age>=10 and not traveled

  

4、多條件

很多情況下,判斷只有兩個結果的情況並不能方便表達多個層次的情況,比如在疫情報警程式中,人可能有3種狀態:綠色(沒出過城)、黃色(出過城)、紅色(去過湖北)。多條件的語句必須加上elif:

if 判斷表示式1:
  條件1成立
elif 判斷表達2:
  條件2成立
elif 判斷表達3:
  條件3成立
  .....
elif 判斷表達N:
  條件N成立
else:
  所有條件不成立

假設出城目的地變數為from,14天內是否出城為變數traveled,出過城為黃色,去過湖北為紅色,沒有出城為綠色:

if not traveled:
    print('綠色')
elif from=='湖北':
    print('紅色')
else:
    print('橙色')

 

5、小示例
假設我們要做一個翻譯程式,把中文的“一、二...九”翻譯成數字,可以使用多條件語句這樣:

number = input("輸入中文一至九:")
output = ''
if number == "一":
    output = '1'
elif number == "二":
    output='2'
elif number == "三":
    output='3'
elif number == "四":
    output='4'
elif number == "五":
    output='5'
elif number == "六":
    output='6'
elif number == "七":
    output='7'
elif number == "八":
    output='8'
elif number == "九":
    output='9' 
else:
    output='輸入錯誤'
print(output)

 

下面是程式執行的示例視訊: