Python條件語(yǔ)句介紹及舉例詳解
Python 條件語(yǔ)句介紹
條件語(yǔ)句是編程中的基本控制結(jié)構(gòu),允許程序根據(jù)特定條件執(zhí)行不同的代碼塊。Python 中的條件語(yǔ)句包括 if、 elif(else if 的簡(jiǎn)寫(xiě))和 else 子句。條件語(yǔ)句使程序能夠做出決策,根據(jù)不同情況執(zhí)行不同的操作,大大增強(qiáng)了程序的靈活性和智能性。
在使用條件語(yǔ)句時(shí),需要注意以下幾點(diǎn):
- Python使用縮進(jìn)來(lái)標(biāo)識(shí)代碼塊,確保縮進(jìn)一致且正確
- 條件表達(dá)式后必須有冒號(hào)(:)
- 可以使用邏輯運(yùn)算符(and, or, not)組合多個(gè)條件
- 復(fù)雜的條件邏輯可以使用嵌套條件語(yǔ)句或拆分為多個(gè)簡(jiǎn)單條件
本文主要介紹以下幾種條件語(yǔ)句:
- if結(jié)構(gòu):當(dāng)條件為真時(shí)執(zhí)行特定代碼塊
- if…else結(jié)構(gòu):根據(jù)條件的真假執(zhí)行不同的代碼塊
- if…elif…else結(jié)構(gòu):按順序檢查多個(gè)條件,并執(zhí)行第一個(gè)為真的條件對(duì)應(yīng)的代碼塊
- 嵌套條件語(yǔ)句:在條件語(yǔ)句內(nèi)部包含其他條件語(yǔ)句
- 條件表達(dá)式(三元運(yùn)算符):簡(jiǎn)潔地表達(dá)條件邏輯
if結(jié)構(gòu)
if結(jié)構(gòu)語(yǔ)法如下:
語(yǔ)句組是包含一條或多條語(yǔ)句的python語(yǔ)句,條件表達(dá)式之后是一個(gè)冒號(hào):,語(yǔ)句組中的語(yǔ)句要在同一縮進(jìn)級(jí)別。
if 條件表達(dá)式:
語(yǔ)句組
如果條件表達(dá)式的結(jié)果為T(mén)rue,則執(zhí)行if語(yǔ)句塊中的代碼;如果條件表達(dá)式的結(jié)果為False,則跳過(guò)if語(yǔ)句塊。
實(shí)例
例1:簡(jiǎn)單的if語(yǔ)句
# 檢查一個(gè)數(shù)是否為正數(shù)
num = 10
if num > 0:
print("這是一個(gè)正數(shù)")
運(yùn)行結(jié)果:
這是一個(gè)正數(shù)
例2:if語(yǔ)句與邏輯運(yùn)算符結(jié)合
# 檢查一個(gè)人是否滿足參加某活動(dòng)的條件
age = 25
is_student = True
if age >= 18 and is_student:
print("您滿足參加活動(dòng)的條件")
運(yùn)行結(jié)果:
您滿足參加活動(dòng)的條件
if…else結(jié)構(gòu)
if…else結(jié)構(gòu)允許我們?cè)跅l件不滿足時(shí)執(zhí)行另一組語(yǔ)句。語(yǔ)法如下:
if 條件表達(dá)式:
語(yǔ)句組1 # 條件為T(mén)rue時(shí)執(zhí)行
else:
語(yǔ)句組2 # 條件為False時(shí)執(zhí)行
實(shí)例
例1:判斷奇偶數(shù)
# 判斷一個(gè)數(shù)是奇數(shù)還是偶數(shù)
num = 15
if num % 2 == 0:
print(f"{num}是偶數(shù)")
else:
print(f"{num}是奇數(shù)")
運(yùn)行結(jié)果:
15是奇數(shù)
例2:登錄驗(yàn)證
# 簡(jiǎn)單的用戶登錄驗(yàn)證
username = "admin"
password = "12345"
input_username = "admin"
input_password = "12345"
if username == input_username and password == input_password:
print("登錄成功!歡迎回來(lái)。")
else:
print("用戶名或密碼錯(cuò)誤,請(qǐng)重試。")
運(yùn)行結(jié)果:
登錄成功!歡迎回來(lái)。
if…elif…else結(jié)構(gòu)
if…elif…else結(jié)構(gòu)用于檢查多個(gè)條件。一旦某個(gè)條件滿足,就執(zhí)行對(duì)應(yīng)的代碼塊,然后跳出整個(gè)條件結(jié)構(gòu)。語(yǔ)法如下:
if 條件表達(dá)式1:
語(yǔ)句組1 # 條件1為T(mén)rue時(shí)執(zhí)行
elif 條件表達(dá)式2:
語(yǔ)句組2 # 條件1為False且條件2為T(mén)rue時(shí)執(zhí)行
elif 條件表達(dá)式3:
語(yǔ)句組3 # 條件1和2為False且條件3為T(mén)rue時(shí)執(zhí)行
...
else:
語(yǔ)句組n # 所有條件都為False時(shí)執(zhí)行
實(shí)例
例1:成績(jī)?cè)u(píng)級(jí)
# 根據(jù)分?jǐn)?shù)給出評(píng)級(jí)
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else:
grade = "F"
print(f"分?jǐn)?shù)為{score},評(píng)級(jí)為{grade}")
運(yùn)行結(jié)果:
分?jǐn)?shù)為85,評(píng)級(jí)為B
例2:季節(jié)判斷
# 根據(jù)月份判斷季節(jié)(北半球)
month = 7
if month in [12, 1, 2]:
season = "冬季"
elif month in [3, 4, 5]:
season = "春季"
elif month in [6, 7, 8]:
season = "夏季"
elif month in [9, 10, 11]:
season = "秋季"
else:
season = "輸入月份有誤"
print(f"{month}月是{season}")
運(yùn)行結(jié)果:
7月是夏季
嵌套條件語(yǔ)句
條件語(yǔ)句可以嵌套使用,即在一個(gè)條件語(yǔ)句內(nèi)部再包含其他條件語(yǔ)句。
# 嵌套條件語(yǔ)句示例 - 簡(jiǎn)單計(jì)算器
num1 = 10
num2 = 5
operation = "+"
if operation == "+":
result = num1 + num2
elif operation == "-":
result = num1 - num2
elif operation == "*":
result = num1 * num2
elif operation == "/":
if num2 == 0: # 嵌套條件語(yǔ)句
print("錯(cuò)誤:除數(shù)不能為零")
result = "未定義"
else:
result = num1 / num2
else:
print("不支持的操作")
result = "未定義"
print(f"{num1} {operation} {num2} = {result}")
運(yùn)行結(jié)果:
10 + 5 = 15
條件表達(dá)式(三元運(yùn)算符)
Python還提供了條件表達(dá)式(也稱為三元運(yùn)算符),這是if-else語(yǔ)句的簡(jiǎn)化版本:
value_if_true if condition else value_if_false
實(shí)例
# 使用條件表達(dá)式判斷大小
a = 10
b = 20
maximum = a if a > b else b
print(f"較大的數(shù)是: {maximum}")
運(yùn)行結(jié)果:
較大的數(shù)是: 20
實(shí)際應(yīng)用案例
案例1:簡(jiǎn)單的登錄系統(tǒng)
# 簡(jiǎn)單的登錄系統(tǒng)
def login_system():
# 預(yù)設(shè)的用戶信息
users = {
"admin": "admin123",
"user1": "password1",
"user2": "password2"
}
username = input("請(qǐng)輸入用戶名: ")
password = input("請(qǐng)輸入密碼: ")
if username in users:
if users[username] == password:
print(f"歡迎回來(lái),{username}!")
else:
print("密碼錯(cuò)誤!")
else:
print("用戶不存在!")
register = input("是否要注冊(cè)新用戶?(yes/no): ")
if register.lower() == "yes":
print("注冊(cè)功能正在開(kāi)發(fā)中...")
else:
print("感謝使用,再見(jiàn)!")
# 調(diào)用函數(shù)
# login_system() # 取消注釋以運(yùn)行交互式登錄系統(tǒng)
案例2:猜數(shù)字游戲
import random
def guess_number_game():
# 生成1-100之間的隨機(jī)數(shù)
target = random.randint(1, 100)
attempts = 0
max_attempts = 7
print("歡迎參加猜數(shù)字游戲!")
print(f"我已經(jīng)想好了一個(gè)1-100之間的數(shù)字,你有{max_attempts}次機(jī)會(huì)猜出它。")
while attempts < max_attempts:
try:
guess = int(input("請(qǐng)輸入你的猜測(cè): "))
attempts += 1
if guess < 1 or guess > 100:
print("請(qǐng)輸入1-100之間的數(shù)字!")
continue
if guess < target:
print("太小了!")
elif guess > target:
print("太大了!")
else:
print(f"恭喜你,猜對(duì)了!答案就是{target}。")
print(f"你用了{(lán)attempts}次嘗試。")
break
if attempts < max_attempts:
print(f"你還有{max_attempts - attempts}次機(jī)會(huì)。")
except ValueError:
print("請(qǐng)輸入有效的數(shù)字!")
if attempts == max_attempts and guess != target:
print(f"游戲結(jié)束!正確答案是{target}。")
# 調(diào)用函數(shù)
# guess_number_game() # 取消注釋以運(yùn)行猜數(shù)字游戲
總結(jié)
到此這篇關(guān)于Python條件語(yǔ)句介紹及舉例詳解的文章就介紹到這了,更多相關(guān)Python條件語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python給Excel寫(xiě)入數(shù)據(jù)的四種方法小結(jié)
本文主要介紹了Python給Excel寫(xiě)入數(shù)據(jù)的四種方法小結(jié),包含openpyxl庫(kù)、xlsxwriter庫(kù)、pandas庫(kù)和win32com庫(kù),具有一定的參考價(jià)值,感興趣的可以了解一下2025-02-02
python @classmethod 的使用場(chǎng)合詳解
這篇文章主要介紹了python @classmethod 的使用場(chǎng)合詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python實(shí)現(xiàn)帶圖形界面的炸金花游戲
詐金花又叫三張牌,是在全國(guó)廣泛流傳的一種民間多人紙牌游戲,它具有獨(dú)特的比牌規(guī)則。本文將通過(guò)Python語(yǔ)言實(shí)現(xiàn)帶圖形界面的詐金花游戲,需要的可以參考一下2022-12-12
C語(yǔ)言中printf()函數(shù)的全面介紹及用法(簡(jiǎn)單易懂)
在C語(yǔ)言中,printf()是常用的輸出函數(shù),包含在頭文件中,它使用格式控制字符串,其中包括格式字符、轉(zhuǎn)義字符和普通字符,格式字符以"%"開(kāi)頭,文中將用法介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
Python圖像銳化與邊緣檢測(cè)之Sobel與Laplacian算子詳解
圖像銳化和邊緣檢測(cè)主要包括一階微分銳化和二階微分銳化,本文主要講解常見(jiàn)的圖像銳化和邊緣檢測(cè)方法,即Sobel算子和Laplacian算子,感興趣的可以了解一下2022-12-12
django admin.py 外鍵,反向查詢的實(shí)例
今天小編就為大家分享一篇django admin.py 外鍵,反向查詢的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07

