小例子入門了解分支
- 說明:
- 如果 條件滿足,才能做某件事情回俐,
- 如果 條件不滿足逛腿,就做另外一件事情,或者什么也不做
-
小例子
- 偽代碼
if 今天發(fā)工資:
先還信用卡的錢
if 有剩余:
又可以happy了仅颇,O(∩_∩)O哈哈~
else:
噢单默,no。灵莲。雕凹。還得等30天
else:
盼著發(fā)工資
if 語句
- 格式:
if 要判斷的條件:
條件成立時(shí),要做的事情
……
-
圖解:
-
練習(xí):
- 需求:
- 定義一個(gè)整數(shù)變量記錄年齡
- 判斷是否滿 18 歲 (>=)
- 如果滿 18 歲,允許進(jìn)網(wǎng)吧嗨皮
- 代碼實(shí)現(xiàn):
- 需求:
# 1. 定義年齡變量
age = 18
# 2. 判斷是否滿 18 歲
# if 語句以及縮進(jìn)部分的代碼是一個(gè)完整的代碼塊
if age >= 18:
print("可以進(jìn)網(wǎng)吧嗨皮……")
# 3. 思考枚抵!- 無論條件是否滿足都會(huì)執(zhí)行
print("這句代碼什么時(shí)候執(zhí)行?")
使用 else 處理?xiàng)l件不滿足的情況:
- 格式
if 要判斷的條件:
條件成立時(shí)线欲,要做的事情
……
else:
條件不成立時(shí),要做的事情
……
-
圖解:
-
練習(xí):
- 需求:
- 輸入用戶年齡
- 判斷是否滿 18 歲 (>=)
- 如果滿 18 歲汽摹,允許進(jìn)網(wǎng)吧嗨皮
- 如果未滿 18 歲李丰,提示回家寫作業(yè)
- 代碼實(shí)現(xiàn):
# 1. 輸入用戶年齡 age = int(input("今年多大了?")) # 2. 判斷是否滿 18 歲 # if 語句以及縮進(jìn)部分的代碼是一個(gè)完整的語法塊 if age >= 18: print("可以進(jìn)網(wǎng)吧嗨皮……") else: print("你還沒長大逼泣,應(yīng)該回家寫作業(yè)趴泌!") # 3. 思考!- 無論條件是否滿足都會(huì)執(zhí)行 print("這句代碼什么時(shí)候執(zhí)行?")
- 需求:
邏輯運(yùn)算
-
邏輯和 and 【條件同時(shí)滿足結(jié)果才為真】
- 格式: 條件1
and
條件2 - 不同條件情況對應(yīng)的結(jié)果
條件 1 條件 2 結(jié)果 成立 成立 成立 成立 不成立 不成立 不成立 成立 不成立 不成立 不成立 不成立 - 格式: 條件1
-
邏輯或 or 【有一個(gè)條件為真結(jié)果就為真】
- 格式:條件1
or
條件2 - 不同條件情況對應(yīng)的結(jié)果
條件 1 條件 2 結(jié)果 成立 成立 成立 成立 不成立 成立 不成立 成立 成立 不成立 不成立 不成立 - 格式:條件1
-
邏輯非 nor 【取相反的結(jié)果】
- 格式:
nor
條件1 - 不同條件情況對應(yīng)的結(jié)果
條件 結(jié)果 成立 不成立 不成立 成立 - 格式:
總練習(xí):
- 練習(xí) 1:
- 需求:定義一個(gè)整數(shù)變量 age拉庶,編寫代碼判斷年齡是否正確嗜憔,要求人的年齡在 0-120 之間
- 代碼實(shí)現(xiàn):
age = 100 # 要求人的年齡在 0-120 之間 if age >= 0 and age <= 120: print("年齡正確") else: print("年齡不正確")
- 練習(xí) 2:
- 需求:定義兩個(gè)整數(shù)變量 python_score、c_score氏仗,編寫代碼判斷成績吉捶,要求只要有一門成績 > 60 分就算合格
- 代碼實(shí)現(xiàn):
python_score = 50 c_score = 50 # 要求只要有一門成績 > 60 分就算合格 if python_score > 60 or c_score > 60: print("考試通過") else: print("再接再厲!")
- 練習(xí) 3:
- 需求:定義一個(gè)布爾型變量 is_employee皆尔,編寫代碼判斷是否是本公司員工呐舔,如果不是提示不允許入內(nèi)
- 代碼實(shí)現(xiàn)
# 練習(xí)3: 定義一個(gè)布爾型變量 `is_employee`,編寫代碼判斷是否是本公司員工 is_employee = True # 如果不是提示不允許入內(nèi) if not is_employee: print("非公勿內(nèi)")
if 進(jìn)階
- elif
- 使用情況:有多個(gè)不同的條件對應(yīng)不同的結(jié)果
- 格式:
if 條件1: 條件1滿足執(zhí)行的代碼 …… elif 條件2: 條件2滿足時(shí)慷蠕,執(zhí)行的代碼 …… elif 條件3: 條件3滿足時(shí)珊拼,執(zhí)行的代碼 …… else: 以上條件都不滿足時(shí),執(zhí)行的代碼 ……
- 注意事項(xiàng):
- elif 和 else 都必須和 if 聯(lián)合使用流炕,而不能單獨(dú)使用
- 可以將 if澎现、elif 和 else 以及各自縮進(jìn)的代碼,看成一個(gè) 完整的代碼塊
- 小練習(xí)
- 需求:
- 定義 holiday_name 字符串變量記錄節(jié)日名稱
- 如果是 情人節(jié) 應(yīng)該 買玫瑰/看電影
- 如果是 平安夜 應(yīng)該 買蘋果/吃大餐
- 如果是 生日 應(yīng)該 買蛋糕
- 其他的日子每天都是節(jié)日啊……
- 代碼實(shí)現(xiàn)
holiday_name = "平安夜" if holiday_name == "情人節(jié)": print("買玫瑰") print("看電影") elif holiday_name == "平安夜": print("買蘋果") print("吃大餐") elif holiday_name == "生日": print("買蛋糕") else: print("每天都是節(jié)日啊……")
- 需求:
- if 嵌套
- 使用情況:有多重條件
- 格式
if 條件 1: 條件 1 滿足執(zhí)行的代碼 …… if 條件 1 基礎(chǔ)上的條件 2: 條件 2 滿足時(shí)浪感,執(zhí)行的代碼 …… # 條件 2 不滿足的處理 else: 條件 2 不滿足時(shí)昔头,執(zhí)行的代碼 # 條件 1 不滿足的處理 else: 條件1 不滿足時(shí)饼问,執(zhí)行的代碼 ……
- 小練習(xí):
-
需求:
- 定義布爾型變量 has_ticket 表示是否有車票
- 定義整型變量 knife_length 表示刀的長度影兽,單位:厘米
- 首先檢查是否有車票,如果有莱革,才允許進(jìn)行 安檢
- 安檢時(shí)峻堰,需要檢查刀的長度,判斷是否超過 20 厘米
- 如果超過 20 厘米盅视,提示刀的長度捐名,不允許上車
- 如果不超過 20 厘米,安檢通過
- 如果沒有車票闹击,不允許進(jìn)門
代碼實(shí)現(xiàn):
# 定義布爾型變量 has_ticket 表示是否有車票 has_ticket = True # 定義整數(shù)型變量 knife_length 表示刀的長度镶蹋,單位:厘米 knife_length = 20 # 首先檢查是否有車票,如果有,才允許進(jìn)行 安檢 if has_ticket: print("有車票贺归,可以開始安檢...") # 安檢時(shí)淆两,需要檢查刀的長度,判斷是否超過 20 厘米 # 如果超過 20 厘米拂酣,提示刀的長度秋冰,不允許上車 if knife_length >= 20: print("不允許攜帶 %d 厘米長的刀上車" % knife_length) # 如果不超過 20 厘米,安檢通過 else: print("安檢通過婶熬,祝您旅途愉快……") # 如果沒有車票剑勾,不允許進(jìn)門 else: print("大哥,您要先買票啊")
-
隨機(jī)數(shù)的處理
- 說明:計(jì)算機(jī)可以隨機(jī)生成一個(gè)數(shù)字
- 模塊:
random
import random
- 函數(shù)說明:random.randint(a, b) 赵颅,返回 [a, b] 之間的整數(shù)虽另,包含 a 和 b
- 實(shí)例:
random.randint(12, 20) # 生成的隨機(jī)數(shù)n: 12 <= n <= 20 random.randint(20, 20) # 結(jié)果永遠(yuǎn)是 20 random.randint(20, 10) # 該語句是錯(cuò)誤的,下限必須小于上限
綜合練習(xí)
-
需求:
- 從控制臺(tái)輸入要出的拳 —— 石頭(1)/剪刀(2)/布(3)
- 電腦 隨機(jī) 出拳 —— 先假定電腦只會(huì)出石頭饺谬,完成整體代碼功能
- 比較勝負(fù)
-
規(guī)則:
序號 規(guī)則 1 石頭 勝 剪刀 2 剪刀 勝 布 3 布 勝 石頭 代碼實(shí)現(xiàn):
# 從控制臺(tái)輸入要出的拳 —— 石頭(1)/剪刀(2)/布(3)
player = int(input("請出拳 石頭(1)/剪刀(2)/布(3):"))
# 電腦 隨機(jī) 出拳 - 假定電腦永遠(yuǎn)出石頭
computer = 1
# 比較勝負(fù)
# 如果條件判斷的內(nèi)容太長洲赵,可以在最外側(cè)的條件增加一對大括號
# 再在每一個(gè)條件之間,使用回車商蕴,PyCharm 可以自動(dòng)增加 8 個(gè)空格
if ((player == 1 and computer == 2) or
(player == 2 and computer == 3) or
(player == 3 and computer == 1)):
print("噢耶5肌!绪商!電腦弱爆了?凉取!格郁!")
elif player == computer:
print("心有靈犀腹殿,再來一盤!")
else:
print("不行锣尉,我要和你決戰(zhàn)到天亮!")