400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎(chǔ)知識】Python中的復(fù)雜if語句(上)

【Python基礎(chǔ)知識】Python中的復(fù)雜if語句(上)

  • 來源:
  • 2020-08-26 17:15:32
  • 閱讀()
  • 分享
  • 手機端入口

1 if-else語句

if-else語句的語法格式如下:

if 表達式:

代碼塊1

else:

代碼塊2

在if-else語句中,如果表達式為真,那么執(zhí)行代碼塊1,否則執(zhí)行代碼塊2。

if-else語句的執(zhí)行流程如圖1所示。

圖1 if-else語句的執(zhí)行流程

假設(shè)某個教務(wù)系統(tǒng)要根據(jù)學(xué)生的成績進行判斷,如果成績不低于60分,打印“及格”,否則打印“不及格”:

  1. grade = int(input('請輸入學(xué)生的成績:'))   # 首先輸入學(xué)生的成績 
  2. if grade >= 60:   # 如果成績大于等于60分 
  3.     print('及格') 
  4. else:   # 否則,即成績小于60分 
  5.     print('不及格') 

建議將這個程序使用腳本模式運行。輸入幾組數(shù)據(jù),測試運行結(jié)果:

  1. 請輸入學(xué)生的成績:59 
  2. 不及格 
  3. 請輸入學(xué)生的成績:60 
  4. 及格 
  5. 請輸入學(xué)生的成績:100 
  6. 及格 

2 if-elif-else語句

if-else只能根據(jù)兩種情況做出判斷——要么條件成立,要么條件不成立。很多時候,需要對多種情況進行判斷,此時可以使用if-elif-else語句。

if-elif-else語句的語法格式如下:

if 表達式1:

代碼塊1

elif 表達式2:

代碼塊2

elif 表達式3:

代碼塊3

……

else:

代碼塊n

if-elif-else語句的執(zhí)行流程如圖2所示。

圖2 if-elif-else語句的執(zhí)行流程

假設(shè)教務(wù)系統(tǒng)需要對學(xué)生的成績進行細(xì)分,60分以下打印“不及格”,大于等于60分且小于70分打印“中等”,大于等于70分且小于90分打印“良好”,大于等于90分打印“優(yōu)秀”:

  1. grade = int(input('請輸入學(xué)生的成績:')) 
  2. if grade < 60: 
  3.     print('不及格') 
  4. elif grade < 70: 
  5.     print('中等') 
  6. elif grade < 90: 
  7.     print('良好') 
  8. else: 
  9.     print('優(yōu)秀') 

建議將這個程序使用腳本模式運行。輸入幾組數(shù)據(jù),測試運行結(jié)果:

  1. 請輸入學(xué)生的成績:58 
  2. 不及格 
  3. 請輸入學(xué)生的成績:62 
  4. 中等 
  5. 請輸入學(xué)生的成績:70 
  6. 良好 
  7. 請輸入學(xué)生的成績:92   
  8. 優(yōu)秀 
  9. 請輸入學(xué)生的成績:100 
  10. 優(yōu)秀 

運行結(jié)果符合預(yù)期。elif是else if的縮寫,指當(dāng)前面的條件不成立時,判斷elif后緊跟著的條件是否成立,如果成立就執(zhí)行相應(yīng)的代碼塊并跳過后面一系列的elif-else語句;如果不成立就繼續(xù)判斷下一個elif。

elif語句和if語句都含有條件測試語句,它們的作用究竟有什么不同呢?可以將上面的程序中所有elif都替換成if,試試看會發(fā)生什么?替換后的代碼如下:

  1. grade = int(input('請輸入學(xué)生的成績:')) 
  2. if grade < 60: 
  3.     print('不及格') 
  4. if grade < 70: 
  5.     print('中等') 
  6. if grade < 90: 
  7.     print('良好') 
  8. else: 
  9.     print('優(yōu)秀') 

輸入幾組數(shù)據(jù),測試運行結(jié)果:

  1. 請輸入學(xué)生的成績:60 
  2. 中等 
  3. 良好 
  4. 請輸入學(xué)生的成績:55 
  5. 不及格 
  6. 中等 
  7. 良好 

運行結(jié)果顯然不符合預(yù)期。這是由于這個程序中每個if語句都是相互獨立的,并不會因滿足了前面的條件就跳過后面的判斷;而一組if-elif-else語句中只有一個“出口”,它會因滿足了其中一個條件就跳過執(zhí)行后面的判斷。

文章“【Python基礎(chǔ)知識】Python中的復(fù)雜if語句(上)”已幫助

>>本文地址:http://m.hqfphsz.com/zhuanye/2020/53434.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個方向的工作?

獲取測試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內(nèi)設(shè)計室內(nèi)設(shè)計
  • 平面設(shè)計平面設(shè)計
  • 電商設(shè)計電商設(shè)計
  • 網(wǎng)頁設(shè)計網(wǎng)頁設(shè)計
  • 全鏈路UI/UE設(shè)計UI設(shè)計
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發(fā)智能機器人
 

快速通道fast track

近期開班時間TIME