python基礎(六、if判斷語句)


10.if判斷語句
1)判斷的定義
如果條件滿足,才能做某件事情,
如果條件不滿足,就做另外一件事情,或者什么也不做
判斷語句又被稱為 “分支語句”,正是因為有了判斷,才讓程序有了很多的分支

2)python中的真假
(1)任何非零和非空對象都為真,解釋為True

(2)數字0、空對象和特殊對象None均為假,解釋為False

3)if 判斷語句基本語法
在 Python 中,if 語句 就是用來進行判斷的,格式如下:
if 要判斷的條件:
條件成立時,要做的事情 ……

注意:代碼的縮進為一個 tab 鍵,或者 4 個空格—建議使用空格
在 Python 開發中,Tab 和空格不要混用!
我們可以把整個 if 語句看成一個完整的代碼塊

4)比較(關系)運算符
== : 檢查兩個操作數的值是否 相等,如果是,則條件成立,返回 True
!= : 檢查兩個操作數的值是否 不相等,如果是,則條件成立,返回 True

: 檢查左操作數的值是否 大於 右操作數的值,如果是,則條件成立,返回 True
< : 檢查左操作數的值是否 小於 右操作數的值,如果是,則條件成立,返回 True
= : 檢查左操作數的值是否 大於或等於 右操作數的值,如果是,則條件成立,返回 True
<= : 檢查左操作數的值是否 小於或等於 右操作數的值,如果是,則條件成立,返回 True
Python 2.x 中判斷不等於還可以使用“<>”運算符
Python 2.x 中同樣可以用“!=”來判斷不等於

5)身份運算符 is
(1)身份運算符概念
身份運算符用於比較兩個對象的內存地址是否一致,是否是對同一個對象的引用
在Python中針對None比較時,建議使用is判斷


按照PEP 8的建議,修改為:

(2)is 與 == 區別:
is 用於判斷兩個變量 引用對象是否為同一個
== 用於判斷 引用變量的值 是否相等

6)else 處理條件不滿足的情況
(1)else,格式:
if 要判斷的條件:
條件成立時,要做的事情 ……
else:
條件不成立時,要做的事情 ……

if 和 else 語句以及各自的縮進部分共同是一個 完整的代碼塊

(2)判斷語句演練
需求
(1)輸入用戶年齡
(2)判斷是否滿 18 歲 (>=)
(3)如果滿 18 歲,允許進網吧嗨皮
(4)如果未滿 18 歲,提示回家寫作業

7)邏輯運算
在程序開發中,通常在判斷條件時,會需要同時判斷多個條件
只有多個條件都滿足,才能夠執行后續代碼,這個時候需要使用到邏輯運算符
邏輯運算符可以把多個條件按照邏輯進行連接,變成更復雜的條件
Python中的邏輯運算符包括:與 and、或 or、非 not
(1)and
條件1 and 條件2
與/並且
兩個條件同時滿足,返回 True
只要有一個不滿足,就返回 False

(2)or
條件1 or 條件2
或/或者
兩個條件只要有一個滿足,返回 True
兩個條件都不滿足,返回 False

(3)not
not 條件
非/不是
在開發中,通常希望某個條件不滿足時,執行一些代碼
另外,如果需要拼接復雜的邏輯計算條件,同樣有可能使用not

(4)邏輯運算演練
①練習1: 定義一個整數變量 age,編寫代碼判斷年齡是否正確
要求人的年齡在 0-120 之間

②練習2: 定義兩個整數變量 python_score、c_score,編寫代碼判斷成績,要求只要有一門成績 > 60 分就算合格

③練習3: 定義一個布爾型變量 is_employee,編寫代碼判斷是否是本公司員工
如果不是提示不允許入內

④練習4:判斷波多老師和倉老師是否在留言中
錯誤寫法:

錯誤原因:判斷語句中“波多野結衣”是字符串,非空字符串為“true”。無論蒼老師in msg的判斷是true還是false,經過or運算,結果一定是true
代碼更正:

⑤練習5:a or b,a and b

如果a==0,結果=b
如果a!=0,結果=a


結果為1

8)if語句判斷條件可以換行書寫
if () or () or():

9)if 語句進階(elif)
(1)elif語句介紹
如果希望再增加一些條件,條件不同,需要執行的代碼也不同 時,就可以使用 elif
語法格式如下:
if 條件1:
條件1滿足執行的代碼 ……
elif 條件2:
條件2滿足時,執行的代碼 ……
elif 條件3:
條件3滿足時,執行的代碼 ……
else:
以上條件都不滿足時,執行的代碼 ……

elif 和 else 都必須和 if 聯合使用,而不能單獨使用
可以將 if、elif 和 else 以及各自縮進的代碼,看成一個 完整的代碼塊

(2)elif 演練—女友的節日
①需求:
定義 holiday_name 字符串變量記錄節日名稱
如果是 情人節 應該 買玫瑰/看電影
如果是 平安夜 應該 買蘋果/吃大餐
如果是 生日 應該 買蛋糕
其他的日子每天都是節日啊……
②代碼

10)三目運算
用於比較大小,使用if語句判斷

使用三目運算:if條件為真打印a,否則打印b

11)if的嵌套
(1)if嵌套介紹
elif的應用場景是:同時判斷多個條件,所有的條件是平級的。
if 的嵌套的應用場景就是:在之前條件滿足的前提下,再增加額外的判斷
if 的嵌套的語法格式,除了縮進之外和之前的沒有區別
注意:嵌套一般不超過3層,最多5層
語法格式如下:

(2)if 的嵌套演練 — 火車站安檢
①需求
定義布爾型變量 has_ticket 表示是否有車票
定義整型變量 knife_length 表示刀的長度,單位:厘米
首先檢查是否有車票,如果有,才允許進行 安檢
安檢時,需要檢查刀的長度,判斷是否超過 20 厘米
如果超過 20 厘米,提示刀的長度,不允許上車
如果不超過 20 厘米,安檢通過
如果沒有車票,不允許進門
②代碼

12)綜合應用
(1)石頭剪刀布
①需求
(a)從控制台輸入要出的拳 — 石頭(1)/剪刀(2)/布(3)
(b)電腦隨機出拳 — 先假定電腦只會出石頭,完成整體代碼功能
(c)比較勝負
②基礎代碼實現

(2)隨機數的處理
①在Python中,要使用隨機數,首先需要導入隨機數的模塊— “工具包”
import random
②導入模塊后,可以直接在模塊名稱后面敲一個“.”然后按Tab鍵,會提示該模塊中包含的所有函數

random.randint(a, b),返回[a, b]之間的整數,包含a和b
③例如:
random.randint(12, 20) # 生成的隨機數n: 12 <= n <= 20
random.randint(20, 20) # 結果永遠是 20
random.randint(20, 10) # 該語句是錯誤的,下限必須小於上限
④修改代碼,讓電腦隨機出拳


注意:為了方便使用,一般將導入工具的語句寫在代碼文件的頂部


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM