判斷 if 語句


判斷的定義

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

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

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

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

01. if 判斷語句基本語法

在python中,if語句就是用來進行判斷的,格式如下:

if 要判斷的條件:
    條件成立時,要做的事情

注意:代碼的縮進為一個tab鍵,或者4個空格

  • 在python開發中,tab和空格不要混用!

我們可以把整個if語句看成一個完整的代碼塊

 

 02. 判斷語句演練——判斷年齡

需求:

  1.定義一個整數變量記錄年齡

  2.判斷是否滿18歲

  3.如果滿18歲,允許進入網吧嗨皮

# 1.定義一個整數變量記錄年齡
age = 19

# 2.判斷年齡是否滿了18歲
if age>=18:
    # 3.如果滿了18歲,可以進入網吧嗨皮!
    print("你已經成年,歡迎進入網吧嗨皮!")

 注意:

    • if 語句以及縮進部分是一個完整的代碼塊

03. lese 處理條件不滿足的情況

思考:

在使用if判斷時,只能做到滿足條件時要做的事情。那如果需要在不滿足條件的時候,做某些事情,該如何做呢?

答案:

else,格式如下

if 要判斷的條件:
    條件成立時,要做的事情
    .......
else:
    條件不成立時,要做的事情
    .......

注意:

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

04. 判斷語句演練——判斷年齡改進

需求:

  1.輸入用戶的年齡

  2.判斷是否滿18歲

  3.如果滿18歲,允許進網吧嗨皮

  4.如果未滿18歲,提示回家寫作業

# 1.輸入用戶的年齡
age = int(input("請輸入你的年齡:"))
# 2.判斷是否滿18歲
if age >= 18:
    # 3.如果滿18歲,允許進網吧嗨皮
    print("允許進入網吧嗨皮!")
else:
    # 4.如果未滿18歲,提示回家寫作業
    print('未成年人不允許進入,請回家寫作業。')

# 5.這句代碼無論條件是否成立都會執行!
print('這句代碼什么時候執行?')

 

05. 邏輯運算

• 在程序開發中,通常在判斷條件時,會需要判斷多個條件

• 只有多個條件都滿足,才能執行后續代碼,這個時候需要使用到邏輯運算符

• 邏輯運算符可以把多個條件按照邏輯進行連接,變成個更復雜的條件

• Python中的邏輯運算符包括:與and / 或or / 非not  三種

5.1 and

條件1 and 條件2

• 與/並且

• 兩個條件要同時滿足,返回True

• 只要有一個不滿足,就返回False

條件1 條件2  結果
成立 成立 成立
成立 不成立 不成立
不成立 成立 不成立
不成立 不成立 不成立

5.2 or

條件1 or 條件2

或/或者

 兩個條件只要有一個滿足,就返回True

 兩個條件都不滿足,就返回False

條件1 條件2  結果
成立 成立 成立
成立 不成立 成立
不成立 成立 成立
不成立 不成立 不成立

 5.3 not

not 條件

• 非/不是

條件 結果
成立  不成立
不成立 成立

邏輯運算演練

練習1:定義一個整數變量age,編寫代碼判斷年齡是否正確

  • 要求人的年齡在0-120之間

練習2:定義兩個整數變量python_score、c_score,編寫代碼判斷成績

  • 要求只要有一門成績>60分就算及格

練習3:定義一個布爾型變量is_employee,編寫代碼判斷是否是本公司員工

  • 如果不是,提示不允許入內

# 練習1:定義一個整數變量age,編寫代碼判斷年齡是否正確
age = int(input("輸入你的年齡:"))
# 要求人的年齡在0-120之間
if age >= 0 and age <= 120:
    print('年齡正確')
else:
    print('年齡不正確')


# 練習2:定義兩個整數變量python_score、c_score,編寫代碼判斷成績
python_core = int(input("輸入你python語言的成績:"))
c_core = int(input("輸入你c語言的成績:"))
# 要求只要有一門成績>60分就算及格
if python_core > 60 or c_core > 60:
    print('及格')
else:
    print('不及格')


# 練習3:定義一個布爾型變量is_employee,編寫代碼判斷是否是本公司員工
is_employee = False
# 如果不是,提示不允許入內
# 在開發中,通常希望某個條件不滿足時,執行一些代碼可以使用 not
# 另外,如果需要拼接復雜的邏輯計算條件,同樣也可以使用到 not
if not is_employee:
    print('不允許進入')
else:
    print('允許進入')

06. if語句進階

6.1 elif

 • 在開發中,使用if可以判斷條件

 • 使用else 可以處理條件不成立的情況

 • 但是,如果希望在增加一些條件,條件不同,需要執行的代碼也不同,就可以使用elif

 • 語法格式如下:

if 條件1:
    條件1滿足執行的代碼
    ....
elif 條件2:
    條件2滿足執行的代碼
    ....
elif 條件3:
    條件3滿足執行的代碼
    ....
else:
    以上條件都不滿足時,執行的代碼
    ....

 • 對比邏輯運算符的代碼

if 條件1 and 條件2:
    條件1滿足 並且 條件2滿足 執行的代碼

注意:

①. elif 和 else 都必須和if聯合使用,而不能單獨使用

②. 可以將if 、elif  和 else 以及各自縮進的代碼,看成一個完成的代碼塊

elif 演練——女友的節日

需求:

定義 holiday_name 字符串變量記錄節日名稱

如果是 情人節,應該 買玫瑰/看電影

如果時 平安夜 ,應該 買蘋果/吃大餐

如果是 生日,應該 買蛋糕

其他的日子每天都是節日啊.....

# 定義 holiday_name 字符串變量記錄節日名稱
holiday_name = input("請輸入節日名稱:")
# 如果是 情人節,應該 買玫瑰/看電影
if holiday_name == '情人節':
    print('買玫瑰/看電影')
# 如果時 平安夜 ,應該 買蘋果/吃大餐
elif holiday_name == "平安夜":
    print('買蘋果/吃大餐')
# 如果是 生日,應該 買蛋糕
elif holiday_name == "生日":
    print('買蛋糕')
# 其他的日子每天都是節日啊.....
else:
    print('每天都是節日啊.....')

6.2 if 的嵌套

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

 • 在開發中,使用 if 進行條件判斷,如果希望在 條件成立的執行語句中 再 增加條件判斷,就可以使用if的嵌套

 • if 的嵌套 的應用場景就是:在之前條件滿足的前提下,再增加額外的判斷

 • if 的嵌套 的語法格式,除了縮進之外和之前的沒有區別

 • 語法格式如下:

if 條件1:
    條件1滿足執行的代碼
    .....
    if 條件1基礎上的條件2:
        條件2滿足時執行的代碼
        .....
    # 條件2不滿足的處理
    else:
        條件2不滿足時執行的代碼
# 條件1不滿足的處理
else:
    條件1不滿足時執行的代碼
    .....

if嵌套 演練——火車站安檢

需求

①.定義布爾型變量has_ticket 表示是否有車票

②.定義整形變量 knife_length 表示刀的長度 ,單位:厘米

③.首先檢查是否有車票,如果有,才允許進行安檢

④.安檢時,需要檢查刀的長度,判斷是否超過20厘米

  如果超過20厘米,提示刀的長度,不允許上車

  如果不超過20厘米,安檢通過

⑤.如果沒有車票,不允許進門,提示先購買車票

# 定義布爾型變量has_ticket 表示是否有車票
has_ticket = True

# 定義整形變量 knife_length 表示刀的長度 ,單位:厘米
knife_length = 30
# 首先檢查是否有車票,如果有,才允許進行安檢
if has_ticket:
    print('車票檢查通過,准備安檢')
    # 安檢時,需要檢查刀的長度,判斷是否超過20厘米
    # 如果超過20厘米,提示刀的長度,不允許上車
    if knife_length > 20:
        print('攜帶的刀太長,有%d厘米,不允許上車!' % knife_length)
    # 如果不超過20厘米,安檢通過
    else:
        print('安檢通過')
  # 如果沒有車票,不允許進門,提示先購買車票
else:
    print('請先購票')

07. 綜合應用——石頭剪刀布

目標:

①. 強化 多個條件 的邏輯運算

②. 體會 import 導入模塊(“工具包”)的使用

需求

從控制台輸入要出的拳——石頭(1) / 剪刀(2) / 布(3)

電腦隨機出拳——先假定電腦只會出石頭,完成整體代碼功能

比較勝負

序號 規則
1 石頭 勝 剪刀
2

剪刀 勝 布

3 布 勝 石頭
import random
# 從控制台輸入要出的拳——石頭(1) / 剪刀(2) / 布(3)
player = int(input('請輸入你出的拳-石頭(1) / 剪刀(2) / 布(3):'))

# 電腦隨機出拳——先假定電腦只會出石頭,完成整體代碼功能
computer = 1
print("玩家出%d,電腦出%d" %(player,computer))
# 比較勝負
# 石頭 勝 剪刀
# 剪刀 勝 布
# 布 勝 石頭
# 如果一行代碼太長不方便閱讀,可以使用() 進行調節
if ((player == 1 and computer == 2)
        or (player == 2 and computer == 3)
        or (player== 3 and computer == 1)):
    print("玩家贏,電腦弱爆了!")
# 平局
elif player == computer:
    print('平局,再來一次!')
# 其他情況電腦贏
else:
    print('弱爆了,電腦贏!')

08. 隨機數處理

 在python中,要使用隨機數,首先需要導入 隨機數 的模塊——“工具包”

import random

導入模塊后,可以直接在 模塊名稱 后面敲一個. 然后按Tab鍵,會提示該模塊中包含的所有函數

 random.radint(a,b)   返回 [a,b] 之間的整數    包含 a 和 b

 例如:

random.randint(12,20)  # 生成的隨機數n:    12 <= n <= 20
random.randint(20,20)  # 結果永遠都是20
random.randint(20,10)  # 該語句是錯誤的,前一個數不能比后一個數大

剪刀石頭布改進版——隨機出

# 導入隨機數的工具包
# 注意:在導入工具包的時候,應該將導入的語句放在文件的頂部
# 因為,這樣可以方便下方的代碼,在任何需要的時候使用工具包中的工具
import random # 從控制台輸入要出的拳——石頭(1) / 剪刀(2) / 布(3) player = int(input('請輸入你出的拳-石頭(1) / 剪刀(2) / 布(3):')) # 電腦隨機出拳 computer = random.randint(1,3) print("玩家出%d,電腦出%d" %(player,computer)) # 比較勝負 # 石頭 勝 剪刀 # 剪刀 勝 布 # 布 勝 石頭 # 如果一行代碼太長不方便閱讀,可以使用() 進行調節 if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or (player== 3 and computer == 1)): print("玩家贏,電腦弱爆了!") # 平局 elif player == computer: print('平局,再來一次!') # 其他情況電腦贏 else: print('弱爆了,電腦贏!')

 


免責聲明!

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



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