Python學習筆記(5)-if判斷、if嵌套、判斷小練習


if判斷

執行程序時根據不同的條件去做不同的事情就叫做判斷

表現形式1:

if加上空格加上判斷條件(判斷條件一般會應用比較運算符或邏輯運算符)加上:(英文狀態下的冒號),if下一行開始寫上條件滿足時做的事情(想寫多少條寫多少條)(行首代碼前面有一個tab鍵),判斷條件不滿足時不做任何事情

if   判斷條件:

  條件滿足時做的事情1

  條件滿足時做的事情2

  條件滿足時做的事情3

  。。。

示例:定義一個年齡變量獲取用戶輸入年齡,判斷年齡,如果年齡大於18歲則打印已成年,可以去網吧了;已長大,可以穿西裝了,如下兩圖:

圖1:輸入年齡為20歲,滿足age>18歲條件,所以結果打印了已成年,可以去網吧了;已長大,可以穿西裝了

圖1

圖2:輸入年齡為15歲,不滿足age>18歲條件,所以結果沒打印任何內容

圖2

表現形式2:

if加上空格加上判斷條件(判斷條件一般會應用比較運算符或邏輯運算符)加上:(英文狀態下的冒號),if下一行開始寫上條件滿足時做的事情(想寫多少條寫多少條)(行首代碼前面有一個tab鍵),條件滿足時做的事情寫完后在下一行頂格寫上else:(英文狀態下的冒號),在else下一行開始寫上條件不滿足時做的事情(想寫多少條寫多少條)(行首代碼前面有一個tab鍵)

if   判斷條件:

  條件滿足時做的事情1

  條件滿足時做的事情2

  條件滿足時做的事情3

  。。。

else:

  條件不滿足時做的事情1

  條件不滿足時做的事情2

  條件不滿足時做的事情3

  。。。

 示例:定義一個年齡變量獲取用戶輸入年齡,判斷年齡,如果年齡大於18歲則打印已成年,可以去網吧了;已長大,可以穿西裝了,如果年齡不大於18歲則打印年紀還小,過幾年再來上網吧;還不夠成熟,過幾年再穿西裝,如下兩圖:

圖1:輸入年齡為20歲,滿足age>18歲條件,所以結果打印了已成年,可以去網吧了;已長大,可以穿西裝了

圖1

圖2:輸入年齡為15歲,不滿足age>18歲條件,所以結果打印了年齡還小,過幾年再來上網吧;還不夠成熟,過幾年再穿西裝

圖2

表現形式3:

if加上空格加上判斷條件1(判斷條件一般會應用比較運算符或邏輯運算符)加上:(英文狀態下的冒號),if下一行開始寫上條件1滿足時做的事情(想寫多少條寫多少條)(行首代碼前面有一個tab鍵),條件1滿足時做的事情寫完后在下一行頂格寫上elif加上空格加上判斷條件2(判斷條件一般會應用比較運算符或邏輯運算符)加上:(英文狀態下的冒號),elif下一行開始寫上條件2滿足時做的事情(想寫多少條寫多少條)(行首代碼前面有一個tab鍵),依次類推

if   判斷條件1:

  條件1滿足時做的事情1

  條件1滿足時做的事情2

  條件1滿足時做的事情3

  。。。

elif 判斷條件2:

  條件2滿足時做的事情1

  條件2滿足時做的事情2

  條件2滿足時做的事情3

  。。。

elif 判斷條件3:

  條件3滿足時做的事情1

  條件3滿足時做的事情2

  條件3滿足時做的事情3

  。。。

。。。

執行順序:判斷條件1不滿足時判斷判斷條件2,判斷條件2滿足時執行條件2滿足時做的事情,且不會繼續判斷判斷條件3,判斷條件2不滿足時再去判斷判斷條件3,依次類推

示例:定義一個數字變量獲取用戶輸入數字,判斷數字,如果數字等於1打印今天是星期一;今天天氣不錯,如果數字等於2打印今天是星期二;今天有雨,如果數字小於等於5打印工作日,仍需要工作;在等幾天才可以休息,如下圖:

如圖所示:輸入數值2,不滿足num==1,所以未打印今天是星期一;今天天氣不錯,滿足num==2,所以打印今天是星期二;今天有雨,雖然同樣滿足num<=5,但是elif判斷語句如果判斷條件成立了就不會再匹配下一個elif判斷條件

表現形式4:

if加上空格加上判斷條件1(判斷條件一般會應用比較運算符或邏輯運算符)加上:(英文狀態下的冒號),if下一行開始寫上條件1滿足時做的事情(想寫多少條寫多少條)(行首代碼前面有一個tab鍵),條件1滿足時做的事情寫完后在下一行頂格寫上elif加上空格加上判斷條件2(判斷條件一般會應用比較運算符或邏輯運算符)加上:(英文狀態下的冒號),elif下一行開始寫上條件2滿足時做的事情(想寫多少條寫多少條)(行首代碼前面有一個tab鍵),依次類推,最后一個elif條件滿足時做的事情寫完后,在下一行頂格寫上else:(英文狀態下的冒號),在else下一行開始寫上以上條件都不滿足時做的事情(想寫多少條寫多少條)(行首代碼前面有一個tab鍵)

if   判斷條件1:

  條件1滿足時做的事情1

  條件1滿足時做的事情2

  條件1滿足時做的事情3

  。。。

elif 判斷條件2:

  條件2滿足時做的事情1

  條件2滿足時做的事情2

  條件2滿足時做的事情3

  。。。

elif 判斷條件3:

  條件3滿足時做的事情1

  條件3滿足時做的事情2

  條件3滿足時做的事情3

  。。。

else:

  條件1,2,3都不滿足時做的事情1

  條件1,2,3都不滿足時做的事情2

  條件1,2,3都不滿足時做的事情3

  。。。

示例:定義一個數字變量獲取用戶輸入數字,判斷數字,如果數字等於1打印今天是星期一;今天天氣不錯,如果數字等於2打印今天是星期二;今天有雨,如果數字不是1或者2打印星期幾我也不知道;可能數字輸錯了,如下圖:

如圖所示:輸入數字10,由於既不滿足num==1也不滿足num==2,所以未打印今天是星期一;今天天氣不錯,今天是星期二;今天有雨,最終打印星期幾我也不知道;可能數字輸錯了

if嵌套

當一個條件判斷是否成立是在另一個判斷條件成立的前提下的表現形式叫做if嵌套

表現形式:

條件1滿足時才會判斷條件2,條件2滿足時則做條件2滿足時做的事情,條件2不滿足時則做條件2不滿足時做的事情,條件1不滿足時候直接做條件1不滿足時做的事情,不會判斷條件2是否滿足

if 判斷條件1:

  條件1滿足時做的事情

  if 判斷條件2:

    條件2滿足時做的事情

  else:

    條件2不滿足的時候做的事情

else:

  條件1不滿足的時候做的事情

示例:定義一個天氣變量獲取用戶輸入數值(1為晴天,2為雨天),判斷天氣,如果天氣是晴天就出門逛商場,在判斷商場里是否還有冰淇淋(1為有),有就打印可以吃冰淇淋,沒有就打印商場冰淇淋賣沒了,沒有冰淇淋吃,如果天氣是雨天就打印下雨天不打算出門,如下三圖:

圖1:常見錯誤寫法,明明是下雨天不出門卻還去商場吃冰淇淋,下圖先判斷天氣是晴天還是雨天,我們輸入了數值2因此if 天氣判斷不成立,執行了else打印了下雨天不打算出門,然后在判斷商場是否有冰淇淋,因為變量固定了值為1,所以判斷條件成立,打印了去商場吃冰淇淋,這里的主要錯誤是無論判斷的天氣是否是晴天,都會判斷商場里是否有冰淇淋,實際情況是若是雨天則不必在判斷商場是否有冰淇淋,因為你都不出門肯定吃不到

圖1

圖2:正確寫法,先判斷是晴天還是雨天,下圖輸入的數值是1因此外層if判斷條件成立,打印天氣晴朗,可以出門逛街,在去判斷內層if判斷條件(商場是否有冰淇淋),因為變量固定了值為1,所以判斷條件成立,打印了去商場吃冰淇淋

 圖2

圖3:正確寫法,先判斷是晴天還是雨天,下圖輸入的數值是2因此是雨天,由於外層if判斷條件不成立所以執行外層else,打印下雨天不打算出門,且不會判斷內層if,也就是不會判斷商場里是否有冰淇淋

 判斷小練習

小游戲:剪刀、石頭、布

說明:為了電腦每次能夠隨機打出剪刀、石頭、布,引入random模塊(暫時理解為工具箱),random模塊下有個功能random.randint(1,3)含義是每次打出1到3中的隨機一個數

練習目的:練習判斷條件與比較運算符或邏輯運算符組合應用

思路:定義一個變量獲取玩家輸入的數值(如1代表剪刀、2代表石頭、3代表布),再定義一個變量獲取系統輸入的數值,然后分別判斷玩家贏、平局、輸的條件,最終將結果打印出來,如圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM