1 嵌套的條件語句
條件語句是可以嵌套的,在條件測試的值為True后,有時候需要檢查其他的條件。在這種情況下,可以使用嵌套的條件語句。
嵌套的條件語句的執(zhí)行流程如圖所示。
需要注意的是,每多嵌套一層條件語句,就需要多一層縮進。下面是一個嵌套條件語句的示例:
- >>> a = 10
- >>> b = 5
- >>> c = 13
- >>> if a < 20:
- ... print('a小于20')
- ... if b > 3: # 增加一層縮進
- ... print('a小于20且b大于3')
- ... if c == 15: # 每多一層嵌套就要多一層縮進
- ... print('a小于20,b大于3且c等于15')
- ...
- a小于20
- a小于20且b大于3
與if同一組的elif/else要保持對應(yīng)的縮進層級。例如,BMI可以用來衡量身體的肥胖指數(shù),計算公式是體重(kg)除以身高(m)的平方,這個程序首先讓用戶輸入身高和體重,然后計算出BMI值,最后輸出結(jié)果:
- height = float(input('請輸入您的身高(單位:米):')) # 用戶輸入身高
- weight = float(input('請輸入您的體重(單位:千克):')) # 用戶輸入體重
- if height < 2.5 and weight > 25: # <1>粗略判斷身高和體重是否在正常范圍內(nèi)
- bmi = weight / height ** 2 # 計算bmi值
- if bmi < 18.5: # <2>根據(jù)bmi值判斷肥胖指數(shù)
- print('偏瘦')
- elif 18.5 <= bmi < 22.9: # <3>
- print('正常')
- else: # <4>
- print('偏胖')
- elif height >= 2.5: # <5>如果輸入的身高不符合要求則給出提醒
- print('您輸入的身高有誤,請重新輸入!')
- else: # <6>
- print('您輸入的體重有誤,請重新輸入!')
建議將這個程序使用腳本模式運行。輸入幾組數(shù)據(jù),測試運行結(jié)果:
- 請輸入您的身高(單位:米):1.8
- 請輸入您的體重(單位:千克):60
- 正常
- 請輸入您的身高(單位:米):1.7
- 請輸入您的體重(單位:千克):40
- 偏瘦
- 請輸入您的身高(單位:米):3
- 請輸入您的體重(單位:千克):66
- 您輸入的身高有誤,請重新輸入!
觀察以上程序可以發(fā)現(xiàn), 注釋中標號<1> <5> <6>是同一縮進層級,而<2> <3> < 4>是同一縮進層級。
2 if-else三目運算符
有的時候if-else語句會很簡短:
- >>> fruit = 'banana'
- >>> if fruit == 'banana':
- ... print('Yes!')
- ... else:
- ... print('No')
- ...
- Yes!
它簡短到似乎不是很有必要占用這么多行,Python中的三目運算符可以更方便地完成這個任務(wù):
- >>> fruit = 'banana'
- >>> print('Yes') if fruit == 'banana' else print('No')
- Yes
三目運算符的語法格式如下:
代碼塊1(如果表達式為真) if 表達式 else 代碼塊2(如果表達式為假)
三目運算符還可以用來根據(jù)不同條件測試,給變量賦不同的值:
- >>> grade = 70
- >>> level = '及格' if grade >= 60 else '不及格'
- >>> level
- '及格'
>>本文地址:http://uj2y2uok.com/zhuanye/2020/54471.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?