七、if 條件語句
阿新 • • 發佈:2022-05-18
■ if 條件語句
目標
- 條件語句作用
- if語法
- if...else...
- 多重判斷
- if巢狀
一. 瞭解條件語句
假設一個場景:
- 同學們這個年齡去過網咖嗎?
- 去網咖進門要上網必須做的一件事是做什麼?(考慮終點)
- 為什麼要把身份證給工作人員?
- 是不是就是為了判斷是否成年?
- 是不是如果成年可以上網?如果不成年則不允許上網?
其實這裡所謂的判斷就是條件語句,即條件成立執行某些程式碼,條件不成立則不執行這些程式碼。
二. if 語法
2.1 語法
if 條件:
條件成立執行的程式碼1
條件成立執行的程式碼2
......
2.2 快速體驗
if True: print('條件成立執行的程式碼1') print('條件成立執行的程式碼2') # 下方的程式碼沒有縮排到if語句塊,所以和if條件無關 print('這個程式碼執行嗎?')
執行結果如下:
三.例項:上網
需求分析:如果使用者年齡大於等於18歲,即成年,輸出“已經成年,可以上網”。
3.1 簡單版
age = 20
if age >= 18:
print('已經成年,可以上網')
print('系統關閉')
3.2 進階版
新增需求:使用者可以輸入自己的年齡,然後系統進行判斷是否成年,成年則輸出“您的年齡是'使用者輸入的年齡',已經成年,可以上網”。
# input接收使用者輸入的資料是字串型別,條件age和整型18做判斷,所以這裡要int轉換資料型別 age = int(input('請輸入您的年齡:')) if age >= 18: print(f'您的年齡是{age},已經成年,可以上網。') print('系統關閉')
四. if...else...
作用:條件成立執行if下方的程式碼;條件不成立執行else下方的程式碼。
思考:網咖上網的例項,如果成年,允許上網,如果未成年呢?是不是應該回複用戶不能上網?
4.1 語法
if 條件:
條件成立執行的程式碼1
條件成立執行的程式碼2
......
else:
條件不成立執行的程式碼1
條件不成立執行的程式碼2
4.2 實用版:網咖上網
age = int(input('請輸入您的年齡:')) # 注意:input接收到的都是str型別,必須用int進行型別轉換 if age >= 18: print(f'您輸入的年齡是{age},已經成年,可以上網。') else: print(f'您輸入的年齡是{age},還未成年,不能上網。') print('系統關閉')
注意:如果某些條件成立執行了相關的程式碼,那麼其他的情況的程式碼直譯器根本不會執行。
五. 多重判斷
思考:中國合法工作年齡為18-60週歲,即如果年齡小於18的情況為童工,不合法;如果年齡在18-60歲之間為合法工作年齡;大於60歲為法定退休年齡。
5.1 語法
if 條件1:
條件1成立執行的程式碼1
條件1成立執行的程式碼2
......
elif 條件2:
條件2成立執行的程式碼1
條件2成立執行的程式碼2
......
......
else:
以上條件都不成立執行的程式碼
多重判斷也可以和else配合使用。一般else放到整個if語句的最後,表示以上條件都不成立的時候執行的程式碼。
5.2 例項:工齡判斷
age = int(input('請輸入您的年齡:'))
if age < 18:
print(f'您輸入的年齡是{age},童工。')
elif age >= 18 and age <= 60:
print(f'您輸入的年齡是{age},為合法工作年齡。')
else:
print(f'您輸入的年齡是{age},您已經到退休年齡。')
拓展:
age >= 18 and age <= 60
可以簡寫成18 <= age <= 60
。
六. if 巢狀
思考:坐公交:如果有錢可以上車,沒錢不能上車;上車後入股有空座,則可以坐下;如果沒空座,就要站著。怎麼書寫程式?
6.1 語法
if 條件1:
條件1成立執行的程式碼1
條件1成立執行的程式碼2
if 條件2:
條件2成立執行的程式碼1
條件2成立執行的程式碼2
注意:條件2的if也是出於條件1的縮排關係內部。
6.2 例項:坐公交
money = 1
seat = 1
# 判斷是否有錢
if money == 1:
print('土豪,請上車。')
# 判斷是否可以坐下
if seat == 1:
print('有空座,可以坐下。')
else:
print('真不巧,沒空座,只能站著了。')
else:
print('朋友,沒帶錢,跟著跑,跑快點。')
七. 應用:猜拳遊戲
需求分析:
-
參與遊戲的角色
- 玩家
- 手動出拳
- 電腦
- 隨機出拳
- 玩家
-
判斷輸贏
- 玩家獲勝
玩家 電腦 石頭 剪刀 剪刀 布 布 石頭 - 平局
- 玩家出拳 和 電腦出拳 相同
- 電腦獲勝
隨機做法:
- 匯入random模組
import 模組名
- 使用random模組中的隨機整數功能
random.randint(開始,結束)
八. 三目運算子
三目運算子也叫三元運算子或三元表示式。
語法如下:
條件成立執行的表示式 if 條件 else 條件不成立執行的表示式
快速體驗:
a = 1
b = 2
c = a if a > b else b
print(c)