1 if-else語句
if-else語句的語法格式如下:
if 表達式:
代碼塊1
else:
代碼塊2
在if-else語句中,如果表達式為真,那么執(zhí)行代碼塊1,否則執(zhí)行代碼塊2。
if-else語句的執(zhí)行流程如圖1所示。
圖1 if-else語句的執(zhí)行流程
假設某個教務系統(tǒng)要根據(jù)學生的成績進行判斷,如果成績不低于60分,打印“及格”,否則打印“不及格”:
- grade = int(input('請輸入學生的成績:')) # 首先輸入學生的成績
- if grade >= 60: # 如果成績大于等于60分
- print('及格')
- else: # 否則,即成績小于60分
- print('不及格')
建議將這個程序使用腳本模式運行。輸入幾組數(shù)據(jù),測試運行結(jié)果:
- 請輸入學生的成績:59
- 不及格
- 請輸入學生的成績:60
- 及格
- 請輸入學生的成績:100
- 及格
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í)行流程
假設教務系統(tǒng)需要對學生的成績進行細分,60分以下打印“不及格”,大于等于60分且小于70分打印“中等”,大于等于70分且小于90分打印“良好”,大于等于90分打印“優(yōu)秀”:
- grade = int(input('請輸入學生的成績:'))
- if grade < 60:
- print('不及格')
- elif grade < 70:
- print('中等')
- elif grade < 90:
- print('良好')
- else:
- print('優(yōu)秀')
建議將這個程序使用腳本模式運行。輸入幾組數(shù)據(jù),測試運行結(jié)果:
- 請輸入學生的成績:58
- 不及格
- 請輸入學生的成績:62
- 中等
- 請輸入學生的成績:70
- 良好
- 請輸入學生的成績:92
- 優(yōu)秀
- 請輸入學生的成績:100
- 優(yōu)秀
運行結(jié)果符合預期。elif是else if的縮寫,指當前面的條件不成立時,判斷elif后緊跟著的條件是否成立,如果成立就執(zhí)行相應的代碼塊并跳過后面一系列的elif-else語句;如果不成立就繼續(xù)判斷下一個elif。
elif語句和if語句都含有條件測試語句,它們的作用究竟有什么不同呢?可以將上面的程序中所有elif都替換成if,試試看會發(fā)生什么?替換后的代碼如下:
- grade = int(input('請輸入學生的成績:'))
- if grade < 60:
- print('不及格')
- if grade < 70:
- print('中等')
- if grade < 90:
- print('良好')
- else:
- print('優(yōu)秀')
輸入幾組數(shù)據(jù),測試運行結(jié)果:
- 請輸入學生的成績:60
- 中等
- 良好
- 請輸入學生的成績:55
- 不及格
- 中等
- 良好
運行結(jié)果顯然不符合預期。這是由于這個程序中每個if語句都是相互獨立的,并不會因滿足了前面的條件就跳過后面的判斷;而一組if-elif-else語句中只有一個“出口”,它會因滿足了其中一個條件就跳過執(zhí)行后面的判斷。
>>本文地址:http://m.nfbqydst.cn/zhuanye/2020/53434.html
聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?