學習筆記18:Python中的比較,邏輯運算符,導入工具包以及if-elif-else

(1)比較運算符

運算符 描述
== 檢查兩個操作數的值是否相等,若是條件成立,返回True
!= 是否不相等,若是,返回True
> 左邊值是否大於右邊值,若是,返回True
< 左邊值是否小於右邊值,若是,返回True
>= 左邊值是否大於或等於右邊值,若是,返回True(符號之間均不存在空格)
<= 左邊值是否小於或等於右邊值,若是,返回True

(2)if可以用來判斷,如果條件滿足,才能做某件事;如果條件不滿足,就做另外一件事或什麼也不做。
1.if 語句的基本語法

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

練習1:判斷年齡

#定義一個整數變量記錄年齡;
age = 15
#判斷是否滿了18歲
if age >= 18:
    # 如果滿了18歲,可以進網吧
    print("已成年,歡迎進網吧")
    print("歡迎")
print("看什麼時候會執行")
執行結果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/判斷年齡.py
看什麼時候會執行

Process finished with exit code 0

注意:if語句與其縮進的語句爲一個完整代碼塊,條件滿足則執行;代碼縮進爲一個tab鍵,或者4個空格 – 建議使用空格,在Python中,Tab和空格不能混用。

2.else可以用來處理if條件不滿足的情況

if 要判斷的條件:
    條件成立時,執行代碼
    ......
else:
    條件不成立時,執行代碼
    ......

練習2:判斷年齡改進版

#輸入用戶年齡
age = 15
#判斷是否滿18歲(>=)
if age >=18:
    #如果滿18歲,允許進網吧
    print("已成年,歡迎進網吧")
#如果未滿18歲,提示回家寫作業
else:
    print("未成年,回家寫作業")
執行結果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/判斷年齡改進版.py
未成年,回家寫作業

Process finished with exit code 0

練習3:控制檯輸入,不同類型不能直接比較,不同類型需轉換,input-str,age-int
注意:if和else語句以及各自的縮進部分爲一個完整的代碼塊。

#輸入用戶年齡
age = int(input("請輸入年齡:"))
#判斷是否滿18歲(>=)
if age >=18:
    #如果滿18歲,允許進網吧
    print("已成年,歡迎進網吧")
#如果未滿18歲,提示回家寫作業
else:
    print("未成年,回家寫作業")
#這句代碼無論條件是否成立都會執行
print("這句代碼什麼時候執行")
執行結果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/判斷年齡改進版.py
請輸入年齡:15
未成年,回家寫作業
這句代碼什麼時候執行

Process finished with exit code 0

(3)邏輯運算符:將多個條件按照邏輯進行連接,變成更復雜的條件

邏輯運算符 意義
and 與,條件1 and 條件2,兩個條件同時滿足,返回True,否則False
or 或,條件1 or 條件2,其中一個條件成立,返回True,均不成立返回False
not 非,not 條件

練習4:定義一個整數變量age,判斷年齡是否在0-120之間;定義兩個變量python_score,c_score,編寫代碼判斷成績(只要一門成績>60就算合格);定義一個布爾型變量is_employee,編寫代碼判斷是否是本公司員工(不是則不允許進入)

#定義一個整數變量age,
age = 120
# 判斷年齡是否在0-120之間;
if age >=0 and age <= 120:
    print("年齡正確")
else:
    print("年齡錯誤")

# 定義兩個變量python_score,c_score,
python_score = 80
c_score = 50
# 編寫代碼判斷成績(只要一門成績>60就算合格);
if python_score > 60 or c_score > 60:
    print("考試通過")
else:
    print("繼續努力")

# 定義一個布爾型變量is_employee,
is_employee = False
# 編寫代碼判斷是否是本公司員工(不是則不允許進入)
#在開發中,通常希望某個條件不滿足時,執行一些代碼,可以使用not
#另外,如果需要拼接複雜的邏輯計算條件,同樣也有可能使用到not
if not is_employee:
    print("非本公司人員,請勿入內")
執行結果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/邏輯運算演練.py
年齡正確
考試通過
非本公司人員,請勿入內

Process finished with exit code 0

(4)elif用來增加條件,所有條件都是平級的

if 條件1:
	條件1滿足,執行
	......
elif 條件2:
	條件2滿足,執行
	......
elif 條件3:
	條件3滿足,執行
	......
else:
	以上均不滿足,執行
......

注:elif和else都必須與if聯合使用;if,elif,else以及縮進的代碼是一個完整代碼塊。

練習5:女友節日

#定義holiday_name,字符串變量記錄節日名稱;
holiday_name = input("請輸入節日:")
#如果是情人節,買玫瑰,看電影;
if holiday_name == "情人節":
    print("買玫瑰,看電影")
#平安夜,買蘋果,喫大餐;
elif holiday_name == "平安夜":
    print("買蘋果,喫大餐")
#生日,買蛋糕;
elif holiday_name =="生日":
    print("買蛋糕")
#其他日子每天都是節日;
else:
    print("每天都是節日啊")
執行結果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/女友節日.py
請輸入節日:生日
買蛋糕

Process finished with exit code 0

(5)if 的嵌套:在之前條件滿足的前提下,再增加額外的判斷

if 條件1:
    條件1成立時,執行代碼
    ......
    if 條件1成立的基礎上的條件2:
		條件2成立時,執行代碼
 		......
	else:
    	條件2不成立時,執行代碼
   		......
else:
    條件1不成立時,執行代碼
    ......

練習6:火車站安檢

#tips:在Pycharm中可選中大段代碼,按Tab鍵增加縮進,按shift+Tab鍵減少縮進;
#定義布爾型變量has_ticket表示是否有車票;
has_ticket = True
#定義整型變量knife_length表示刀長;
knife_length = 50
#首先檢查是否有車票,若有才允許安檢;
if has_ticket:
#安檢時,判斷刀長是否超過30cm;
    print("車票檢查通過,開始安檢")
    if knife_length > 30:
        # 超過,不允許上車;
        print("安檢未通過,刀長爲%dcm" % knife_length)
    else:
    	# 未超,安檢通過;
        print("安檢通過")
#沒有車票,不允許進入;
else:
    print("請先買票")

執行結果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/火車站安檢.py
車票檢查通過,開始安檢
安檢未通過,刀長爲50cm

Process finished with exit code 0

(6)隨機數:使用隨機數需導入隨機數模塊的工具包,導入模塊後,可在模塊名稱後敲一個.再按Tab鍵選擇模塊包含的函數。

導入模式:
       import 模塊名稱
如導入隨機數模塊:
 	   import random	
如導入隨機數中的一個函數:
random.randint(a,b):返回包含a,b 的[a,b]之間的整數,下限小於上限	   				

練習7:石頭剪刀布

#綜合應用--石頭剪刀布
#目標:強化多個條件的邏輯運算;體會import導入模塊
#導入隨機工具包,放在文件頂部
import random
#從控制檯輸入要出的拳--石頭(1),剪刀(2),布(3)
player = int(input("請輸入你要出的拳,石頭(1),剪刀(2),布(3):"))
#電腦隨機出拳--先假定電腦只會出石頭,完成整體代碼功能
computer = random.randint(1,3)
print("玩家選擇的拳頭是 %d - 電腦出的拳是 %d" % (player,computer))
#比較勝負
#1 石頭 勝 剪刀
#2 剪刀 勝 布
#3 布 勝 石頭
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("電腦獲勝")
執行結果:
F:\python-liuboke\venv\Scripts\python.exe F:/python-liuboke/石頭剪刀布.py
請輸入你要出的拳,石頭(1),剪刀(2),布(3):3
玩家選擇的拳頭是 3 - 電腦出的拳是 2
電腦獲勝

Process finished with exit code 0


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