python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

一、if語句判斷的定義

  • 如果 條件滿足,才能做某件事情,

  • 如果 條件不滿足,就做另外一件事情,或者什麼也不做

    正是因爲有了判斷,才使得程序世界豐富多彩,充滿變化!

    判斷語句 又被稱爲 “分支語句”,正是因爲有了判斷,才讓程序有了很多的分支

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

Python程序語言指定任何非0和非空(null)值爲true,0 或者 null爲false。

Python 編程中 if 語句用於控制程序的執行,基本形式爲:

if 判斷條件:
    執行語句……
else:
    執行語句……

例子:如果天氣晴朗,我們去室外散步;否則,繼續宅在家裏

我們要判斷出語句中的關鍵字然後基於此編寫腳本

"""
如果 天氣晴朗
    去室外散步
否則
    繼續宅在家裏
"""

state = '陰天'
if state == '晴朗':
    print('室外散步!')
else:
    print('繼續宅在家裏。')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

二、if語句的比較運算符

以下假設變量a爲10,變量b爲20:

運算符 描述 實例
== 等於 - 比較對象是否相等 (a == b) 返回 False。
!= 不等於 - 比較兩個對象是否不相等 (a != b) 返回 true.
<> 不等於 - 比較兩個對象是否不相等。python3 已廢棄。 (a <> b) 返回 true。這個運算符類似 != 。
> 大於 - 返回x是否大於y (a > b) 返回 False。
< 小於 - 返回x是否小於y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。 (a < b) 返回 true。
>= 大於等於 - 返回x是否大於等於y。 (a >= b) 返回 False。
<= 小於等於 - 返回x是否小於等於y。 (a <= b) 返回 true。

例子

1、算數運算符在條件表達式中的應用:ATM/客服

key = 1
if key == 1:
    print('存款')
else:
    print('取款')
#當數值等於1時存款,否則取款

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

2、!=的使用

if key != 1:
    print('不存款')
else:
    print('存款')
#當數值不等於1時不存款,否則取款

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

3、>=的使用

age = 18
if age >= 18:
    print('允許進入網吧')
else:
    print('未成年人禁止進入!')
#當年齡大於18可以進網吧,否則不行

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

三、if語句的邏輯運算符

Python語言支持邏輯運算符,以下假設變量 a 爲 10, b爲 20:

運算符 邏輯表達式 描述 實例
and x and y 布爾"與" - 如果 x 爲 False,x and y 返回 False,否則它返回 y 的計算值。 (a and b) 返回 20。
or x or y 布爾"或" - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。 (a or b) 返回 10。
not not x 布爾"非" - 如果 x 爲 True,返回 False 。如果 x 爲 False,它返回 True。 not(a and b) 返回 False

注意:if 有多個條件時可使用括號來區分判斷的先後順序,括號中的判斷優先執行,此外 and 和 or 的優先級低於 >(大於)、<(小於)等判斷符號,即大於和小於在沒有括號的情況下會比與或要優先判斷。

例子

當年齡大於等於18歲,或有100塊錢並且有身份證就可進入,否則不得進入

# 邏輯運算符:and/or
age = 16
money = 100
id_card = True

if (age >= 18 or money >= 100) and  id_card:
    print('歡迎光臨!')
else:
    print('抱歉')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

四、if語句的成員運算符

除了以上的一些運算符之外,Python還支持成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或元組。

運算符 描述 實例
in 如果在指定的序列中找到值返回 True,否則返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中沒有找到值返回 True,否則返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

例子

1、成員運算符:in/not in

當names列表中包含小寫的Kety,就輸出存在,否則不存在

names = ['Job','Bili','Laoyew','kety']
name = 'Kety'

if name.lower() in names:
    print('存在')
else:
    print('不存在')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

當names列表中不包含大寫的Kety,就輸出不存在,否則存在

if name.upper() not in names:
    print('不存在')
else:
    print('存在')

五、小練習

1、檢查是否相等

num = 1
if num == 1:
    print('ok')
else:
    print('no')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

2、檢查是否不相等

num1 = 2
if num1 != 1:
    print('no')
else:
    print('yes')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

3、比較數字

num2 = 3
num3 = 4
if num2 <= num3:
    print('ok')
else:
    print('no')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

4、檢查多個條件

num4 = 5
num5 = 6
num6 = 7
if (num4 >= 5 or num5 >= 6) and num6 ==7:
    print ('ok')
else:
    print('no')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

5、檢查特定的值是否包含在列表中

num7 = ['a','b','c']
num8 = ['D']
if num8 in num7:
    print('yes')
else:
    print('no')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

if str(num8).lower() in num7:
    print('yes')
else:
    print('no')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

6、檢查特定的值是否不包含在列表中

if str(num8).upper() not in num7:
    print('no')
else:
    print('yes')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

六、if語句結構

1、簡單的if語句

# 簡單的if
age = 0
if age ==0:
    print('嬰兒')
print()

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

注意:Python 區分語句塊採用的是縮進規則。具有相同縮進的代碼被視是同一結構的代碼塊,上面的2,3行 print 語句就構成一個代碼塊( 但不包括第6行的 print 語句),他們都屬於 if 下的語句塊。
如果 age大於等於18,就會執行第 2 和 3 行的 if 語句塊。
縮進要嚴格按照 Python 的習慣寫法:4個空格,或者使用 Tab,不要混合 Tab 和空格,否則很容易造成因爲縮進而引起的語法錯誤。

(一)if...else... 語句

if...else... 語句,當 if 的條件爲 True 時執行 if 下的語句塊,否則執行 else 下語句塊。

if...else... 語句格式如下:

if <條件>:
      【if 的語句塊】
else:
      【else 的語句塊】

釋:條件爲 True 時執行【if的語句塊】,否則執行【else的語句塊】

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

例子

# if-else

age = 3
if age >= 2 and age <= 4:
    print('蹣跚學步')
else:
    print('嬰兒')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

(二)if...elif...else... 語句

  • 在開發中,使用 if 可以 判斷條件,使用 else 可以處理 條件不成立 的情況
  • 如果希望 再增加一些條件,條件不同,需要執行的代碼也不同 時,就可以使用 elif
  • 語法格式如下:
if 條件1:
    條件1滿足執行的代碼
    ……
elif 條件2:
    條件2滿足時,執行的代碼
    ……
elif 條件3:
    條件3滿足時,執行的代碼
    ……
else:
    以上條件都不滿足時,執行的代碼
    ……

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

例子:

# if-elif-else
age = 3
if age ==0:
    print('嬰兒')
elif age >= 2 and age <= 4:
    print('蹣跚學步')
elif age > 4 and age <=5:
    print('上幼兒園')
else:
    print('其他')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

(三)if 的嵌套

**elif 的應用場景是:同時 判斷 多個條件,所有的條件是 平級 的**

  • 在開發中,使用 if 進行條件判斷,如果希望 在條件成立的執行語句中增加條件判斷,就可以使用 if 的嵌套
  • if 的嵌套 的應用場景就是:在之前條件滿足的前提下,再增加額外的判斷
  • if 的嵌套 的語法格式,除了縮進之外 和之前的沒有區別

語法格式如下:

if 條件 1:
    條件 1 滿足執行的代碼
    ……

    if 條件 1 基礎上的條件 2:
        條件 2 滿足時,執行的代碼
        ……    

    # 條件 2 不滿足的處理
    else:
        條件 2 不滿足時,執行的代碼

# 條件 1 不滿足的處理
else:
    條件1 不滿足時,執行的代碼
    ……

例子

1、當百米賽跑時間小於等於10秒時,男女分組進入決賽

second = 6
gender = '男'

if second <= 10:
    print('進入決賽')   

    if gender == '男':
        print('進入男子組')
    elif gender == '女':
        print('進入女子組')
else:
    print('重在參與,杭氧體育精神')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

2、if 的嵌套 演練 —— 火車站安檢

需求

  • 定義布爾型變量 has_ticket 表示是否有車票
  • 定義整型變量 knife_length 表示刀的長度,單位:釐米
  • 首先檢查是否有車票,如果有,才允許進行 安檢
  • 安檢時,需要檢查刀的長度,判斷是否超過 20 釐米
    如果超過 20 釐米,提示刀的長度,不允許上車
    如果不超過 20 釐米,安檢通過
  • 如果沒有車票,不允許進門
# 定義布爾型變量 has_ticket 表示是否有車票
has_ticket = True

# 定義整數型變量 knife_length 表示刀的長度,單位:釐米
knife_length = 20

# 首先檢查是否有車票,如果有,才允許進行 安檢
if has_ticket:
    print("有車票,可以開始安檢...")

    # 安檢時,需要檢查刀的長度,判斷是否超過 20 釐米
    # 如果超過 20 釐米,提示刀的長度,不允許上車
    if knife_length >= 20:
        print("不允許攜帶 %d 釐米長的刀上車" % knife_length)
    # 如果不超過 20 釐米,安檢通過
    else:
        print("安檢通過,祝您旅途愉快……")

# 如果沒有車票,不允許進門
else:
    print("大哥,您要先買票啊")

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

六、小練習(2)

1、 求100以內數字的偶數之和與奇數之和

j = list(range(1,101,2))
print(sum(j))
print(sum(range(2,101,2)))

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

2、輸出100以內7的倍數的數字

for i in range(1,101):
    if i%7 == 0:
        print(i,end=' ')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

3、打印直角三角形,奇數用*號代替,偶數用#號代替

xgp = list(range(1,10,2))
wsd = list(range(2,10,2))
for i in range(1,10):
    for j in range(i+1):
        if j in xgp:
            print("*",end='')
        elif j in wsd:
            print("#",end='')
    print()

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

4、

查看fruits列表中是否有apper

# 定義列表
fruits = ['apper','banana','pear','orange']
fruit = 'apper'
if fruit in fruits:
    print('存在')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

if嵌套

for f in fruits:
    if f == 'pear':
        print('做梨罐頭') 
    elif f == 'orange':
        print('做橘子罐頭')       
    elif f == 'apple':
        print('做蘋果罐頭')
    else:
        print('做沙拉')

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

#fruits = []
fruits = ['apple','banana','pear','orange']
print(fruits)

if len(fruits) == 0:
    print('沒有水果')
else:
    print('開始做水果罐頭了')
    for fruit in fruits:
        print(fruit,end=" ")

python中if語句的使用(比較、邏輯、成員、運算符,語句結構)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章