文章目錄
- 1、程式結構
- 2、`if`語句
- 3、`if-else`語句
- 4、`if…elif…else`語句——多重if選擇結構
- 5、嵌套選擇結構
- 6、條件表達式
- 7、練一練
-
- 計算身體品質指數
- 猜拳遊戲
- 升序排序
1、程式結構
Python
程式設計中的
3
種基本結構為順序結構、選擇結構和循環結構。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYTMfhHLlN3XnxCM38FdsYkRGZkRG9lcvx2bjxCMy8VZ6l2cs0TPR1UeBpWTS1CT2MWLMZTQClGVF5UMR9Fd4VGdsATNfd3bkFGazxycykFaKdkYzZUbapXNXlleSdVY2pESa9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL3MTYyUGZyYmYxgDOwYDO5MDZ0QzNlhTZ0UGOhNTO4I2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
生活中的判斷場景
程式中的判斷場景
2、 if
語句
if
Python
中使用
if
保留字來組成選擇語句,簡單的文法格式如下:
if 表達式:
語句塊
練一練:
- 從鍵盤擷取自己的年齡,判斷是否大于或者等于
歲,如果滿足就輸出“已成年,網吧可以去了”。18
- 張三
成績大于Python
分,而且html成績大于98
分,老師獎勵他;或者95
成績等于Python
分,100
成績大于PS
分,老師也可以獎勵他。85
- 編寫程式,從鍵盤擷取使用者名和密碼,然後判斷,如果正确就輸出以下資訊:“親愛的xxx,歡迎登陸 XXXX系統。”
注意:在
Python
中,
真:數字非0、字元串
假:空字元串、None、0、[]、{}
3、 if-else
語句
if-else
Python
中提供了
if-else
語句解決類似問題,其文法格式如下:
if 表達式:
語句塊1
else:
語句塊2
ticket = 1 # 用1代表有車票,0代表沒有車票
if ticket == 1:
print("有車票,可以上火車")
print("終于可以見到Ta了,美滋滋~~~")
else:
print("沒有車票,不能上車")
print("親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~")
練一練:
- 從鍵盤輸入刀子的長度,如果刀子長度沒有超過
,則允許上火車,否則不允許上火車。10cm
- 使用者輸入兩個數
、a
。如果b
能被a
整除或b
加a
大于b
,則輸出1000
;否則輸出a
。b
4、 if…elif…else
語句——多重if選擇結構
if…elif…else
對學生的期末考試成績評測
- 成績>=90 :優秀
- 成績>=80 :良好
- 成績>=70 :中等
- 成績>=60 :及格
-
成績<60 :不及格
分析:将成績分成幾個連續區間判斷。
解決一:使用11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練
個5
解決。if
11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練 使用單個if選擇結構無法完成。
使用多個if選擇結構可以實作,但要寫很多個,而且條件寫起來比較複雜。
解決二:使用多重
if
選擇結構。
在開發程式時,如果遇到多選一的情況,則可以使用
if…elif…else
語句,該語句是一個多分支選擇語句,通常表現為“如果滿足某種條件,就會進行某種處理,否則,如果滿足另一種條件,則執行另一種處理
if…elif…else
語句的文法格式如下 :
if 表達式1:
語句塊1
elif 表達式2:
語句塊2
…
else:
語句塊n
print("在古希臘神話中,玫瑰花集愛情與美麗于一身,是以人們常用玫瑰來表達愛情。\n")
print("但是你知道嗎?不同朵數的玫瑰花代表的含義是不同的。\n")
#擷取使用者輸入的朵數,并轉換為整型
number = int(input("輸入你想送幾朵玫瑰花,小泸會告訴您含義:"))
if number == 1: #如果輸入的是1,代表1朵
print("1朵:一見鐘情!")
elif number == 2: #輸入2
print("2朵:這世界隻有我倆!")
elif number == 4: #輸入2
print("4朵:至死不渝!")
elif number == 10: #輸入2
print("10朵:十全十美!")
elif number == 99: #輸入2
print("99朵:天長地久!")
elif number == 100: #輸入2
print("100朵:百分之百的愛!")
elif number == 108: #輸入2
print("108朵:求婚!")
else: #輸入其它數字
print("無論送她多少朵,都代表你滿滿的愛意!")
想一想:
問:多重
if
選擇結構中各個條件(即
elif
塊)的順序可以任意排列嗎?
答:在多重
if
選擇結構,如果條件之間存在連續關系,則
elif
塊的順序不是亂排的,要麼從大到小,要麼從小到大,總之是有序的排列。如果多重if選擇結構中的所有條件之間隻是簡單的互斥,不存在連續關系,則條件沒有順序要求。
5、嵌套選擇結構
前面
3
種形式的選擇語句之間都可以互相嵌套。
在最簡單的if語句中嵌套
if…else
語句,形式如下:
if 表達式1:
if 表達式2:
語句塊1
else:
語句塊2
在
if…else
語句中嵌套
if…else
語句,形式如下:
if 表達式1:
if 表達式2:
語句塊1
else:
語句塊2
else:
if 表達式3:
語句塊3
else:
語句塊4
if
選擇語句可以有多種嵌套方式,開發程式時,可以根據自身需要選擇合适的嵌套方式,但一定要嚴格控制好不同級别代碼塊的縮進量。
示例:
國家品質監督檢驗檢疫局釋出的《車輛駕駛人員血液、呼氣酒精含量門檻值與檢驗》中規定:車輛駕駛人員血液中的酒精含量小20mg/100ml不構成飲酒駕駛行為;酒精含量大等于20mg/100ml、小于80mg/100ml為飲酒駕車;酒精含量大于或等于80mg/100ml為醉酒駕車。現編寫一段Python代碼來幫助泸州交警判斷司機是否存在酒後駕車。
print("\n 中國酒城·醉美泸州 四川省泸州市歡迎您! \n")
print("美酒雖好,請不要貪杯哦!為了您和他人的安全,嚴禁酒後駕車!\n")
#擷取駕駛員輸入的酒精含量,并轉換為整型
proof = int(input("請輸入駕駛員每100ml血液的酒精含量:"))
if proof < 20: #酒精含量小于20mg,不構成飲酒行為
print("\n您還不構成飲酒行為,可以開車,但要注意安全!")
else: #酒精含量大于或等于20mg,已經構成飲酒駕車行為
if 80 > proof >= 20: #酒精含量大于或等于20mg且小于80mg,達到飲酒駕駛标準
print("\n已經達到酒後駕車标準,請不要開車!")
else: #酒精含量大于或等于80mg,已經達到醉酒駕駛标準
print("\n已經達到醉酒駕車标準,千萬不要開車!")
chePiao = 1 # 用1代表有車票,0代表沒有車票
daoLenght = 9 # 刀子的長度,機關為cm
if chePiao == 1:
print("有車票,可以進站")
if daoLenght < 10:
print("通過安檢")
print("終于可以見到Ta了,美滋滋~~~")
else:
print("沒有通過安檢")
print("刀子的長度超過規定,等待警察處理...")
else:
print("沒有車票,不能進站")
print("親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~")
練一練:
- 學校舉行運動會,百米賽跑跑入
秒内的學生有資格進決賽,根據性别分别進入男子組和女子組。10
- 情節描述:上公共汽車,并且可以有座位坐下。
6、條件表達式
在程式開發時,經常會根據表達式的結果,有條件地進行指派。例如,要傳回兩個數中較大的數,可以使用下面的
if
語句:
a = 10
b = 6
if a > b:
r = a
else:
r = b
針對上面的代碼,可以使用條件表達式進行簡化,代碼如下:
a = 10
b = 6
r = a if a > b else b
7、練一練
計算身體品質指數
身體品質指數 (
Body Mass Index
, 簡稱
BMI
), 是關于體重名額的品質測量,将以千克為機關的體重除以以米為機關身高的平方,就得到
BMI
的值。針對
16
歲及以上年齡的人群,他們的
BMI
值說明如下表所示:
猜拳遊戲
從鍵盤錄入人的出拳,計算機随機出拳,實作人和計算機的一次猜拳。
[0,2]的随機整數産生如下:
import random
print(random.randint(0,2))
升序排序
從鍵盤輸入
3
個整數,分别賦給整數變量
a
,
b
,
c
,然後将輸入的整數按照從小到大的順序放在變量
a
,
b
,
c
中,并輸出三個變量的值。