紮實基礎深入篇(四):聽說if語句很叼?

編程時經常需要檢查一系列條件,並根據此決定採取什麼措施。

在python中,if語句讓你能夠檢查程序的當前狀態,並根據此採取相應的措施。

------------------------------

一個快速簡單的示例

# 目標結果:打印出歌手GAI,貓和老鼠的Tom和外國美女rose。

persons=["jack","tom","jerry","gai","ROSE"]
for person in persons:
 
  if person == "gai":
    print(person.upper())
  elif person == "tom":
    print(person.title())
  elif person == "ROSE":
    print(person.lower())
  else:
    continue
輸出結果:
Tom
GAI
rose
-----------------------------
零基礎的可以仔細研究一下這段代碼,並結合下圖的代碼流程圖進一步更深的理解:
代碼流程圖調試的網址:https://pythontutor.com/visualize.html
 
------------------------------
現在進入條件測試的學習
①檢查是否相等
>>>person1="ROSE"
>>>person2="Rose"
person1 == person2--->False
>>>person1="ROSE"
>>>person3="rose"
person1 == person3.upper()--->True
②比較數字
>>>age=20
age>20--->False
>>>age=18
age<=18--->True
③使用or和and檢查多個條件
>>>age_1=20
>>>age_2=22
age_1>10 and age_2<23--->True
>>>age_3=18
>>>age_4=24
age_3>20 or age<23---->False
④使用特定值檢查是否包含在列表中
>>>list_1=["a","b","c"]
"a" in list_1--->True
"w" in lisr_1--->False

實際上,這些都是布爾表達式,它是條件測試的別名。

布爾表達式的結果要麼爲True,要麼爲False。

------------------------------

認識辣個男人:if/elif/.../elif/else代碼塊

if:只判斷一件事情或一個條件

if/else:當條件測試通過了執行一個操作,條件測試未通過時執行另外一個操作。

if/elif/else:可以測試三個條件。

if/elif/.../elif/else:極爲強大的測試代碼塊,幾乎能涵蓋所有的測試條件,直到遇到了通過了的測試,Python就跳過餘下的測試。

下面我將結合一個題目來講一下辣個男人:

設置變量age的值,再編寫一個if-elif-else結構,根據age的值判斷處於人生的哪個階段。

•如果此人小於2歲,請打印一條信息,說明此人是嬰兒。

•如果此人至少2歲但小於4歲,請打印一條信息,說明此人是一名幼兒。

•如果此人至少4歲但小於13歲,請打印一條信息,說明此人是一名兒童。

•如果此人至少13歲但不小於20歲,請打印一條信息,說明此人是一個青少年。

•如果此人至少20歲但小於65歲,請打印一條信息,說明此人是一名成年人。

•如果該人年滿65歲,請打印一條信息,說明該人是老年人。

 

age=20
if age<2:
  who="嬰兒"
elif age<4:
  who="幼兒"
elif age<13:
  who="兒童"
elif age<20:
  who="青少年"
elif age<65:
  who="成年人"
else:
  who="老年人"
print("此人是:",who)
輸出結果:
此人是: 成年人
我相信大家的代碼寫的肯定不跟我一樣,要知道的是:
這不代表你寫錯了,我只是把最簡潔的寫法放出來,讓你們感受到Python語法的優美簡潔。
事實上,可以不需要else,把else:那一行改成elif age>=65:是不影響結果的。
else是一條包羅萬象的語句,只要不滿足任何if或elif中的條件測試,其中的代碼就會執行,
這可能會引入無效甚至惡意的數據,比如人爲加入一些黑客的命令。
如果確定知道最終要測試的條件,應考慮使用一個elif代碼塊來代替else代碼塊。
------------------------------
用if語句對列表做一些羞羞的事
假如你是《他是歌王》歌唱節目的總導演紅桃,你在查看第二期的演唱歌手列表:
["韓黃","GAI","孫北","張紹","周杰沒有倫"]
這時候朋友圈刷爆了“做頭髮”,此次事件的男主角是嘻哈圈的著名歌手,卻遭到了廣電局的封殺,從而影響了嘻哈歌手。
於是本期這場的GAI歌手受到連累,不能上場,這個時候你需要在邀請函上打印相關的信息。
singer_list=["韓黃","GAI","孫北","張紹","周杰沒有倫"]
for singer in singer_list:
if singer == "GAI":
print("向各位抱歉,GAI歌手本次因突發事件不能上場競演。")
else:
print(singer+"歌手期待你前來收聽")
輸出結果:
韓黃歌手期待你前來收聽
向各位抱歉,GAI歌手本次因突發事件不能上場競演。
孫北歌手期待你前來收聽
張紹歌手期待你前來收聽
周杰沒有倫歌手期待你前來收聽
 
希望大家可以好好理解這段代碼的實現方法,我將佈置一個作業,答案在下篇博客公佈:
執行以下操作以創建一個程序,該程序模擬網站如何確保每個人都有唯一的用戶名。
•列出包含五個或更多用戶名的列表current_users;再列出包含五個新用戶名的列表new_users,
確保一個或兩個新用戶名也在當前用戶列表中。
•循環瀏覽新用戶列表,查看每個新用戶名是否已被使用。如果有,請打印一條消息,說明此人需要輸入新的用戶名。
如果沒有使用用戶名,請打印一條消息,說明用戶名可用。
•確保你的比較不區分大小寫。如果使用了“john”,則不應接受“JOHN”。
-----------------------------
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章