自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

令人拍案叫絕的 Python 條件控制技巧

開發(fā) 前端
從簡(jiǎn)單的 if 語句到復(fù)雜的多條件組合,再到列表推導(dǎo)式中的條件表達(dá)式,每一步都為我們提供了更強(qiáng)大的編程能力。

條件控制的重要性

條件控制是編程中最基本也是最重要的部分之一。它讓程序可以根據(jù)不同的情況做出不同的反應(yīng)。想象一下,如果我們的程序不能根據(jù)用戶的輸入或環(huán)境的變化做出響應(yīng),那它就只是一個(gè)死板的工具,無法適應(yīng)多變的需求。

理解條件語句的基礎(chǔ)

Python 中最基本的條件控制結(jié)構(gòu)是 if 語句。通過這個(gè)簡(jiǎn)單的語句,我們可以實(shí)現(xiàn)邏輯分支,讓程序走向不同的路徑。

代碼示例:

age = int(input("請(qǐng)輸入你的年齡: "))

if age >= 18:
    print("你已成年!")
else:
    print("你還未成年哦!")

這段代碼首先提示用戶輸入年齡,然后根據(jù)輸入的值判斷用戶是否成年。這里的關(guān)鍵點(diǎn)在于 if 后面的條件表達(dá)式 age >= 18,它是一個(gè)布爾表達(dá)式,返回 True 或 False。

使用 elif 增加更多選擇

當(dāng)需要處理多個(gè)條件時(shí),elif(即“else if”)就派上用場(chǎng)了。它可以讓你添加多個(gè)條件檢查,使程序更加靈活。

代碼示例:

score = int(input("請(qǐng)輸入你的分?jǐn)?shù): "))

if score >= 90:
    print("優(yōu)秀")
elif score >= 70:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

這里,根據(jù)分?jǐn)?shù)的不同范圍,程序會(huì)輸出不同的評(píng)價(jià)。elif 允許我們?cè)谝粋€(gè) if 語句中添加多個(gè)條件分支。

利用 in 和 not in 進(jìn)行集合匹配

除了比較數(shù)值,我們還可以使用 in 和 not in 來檢查某個(gè)元素是否存在于一個(gè)集合(如列表、元組、字符串等)中。

代碼示例:

colors = ["red", "green", "blue"]
favorite_color = input("請(qǐng)輸入你喜歡的顏色: ")

if favorite_color in colors:
    print(f"我喜歡{favorite_color}!")
else:
    print("這不是我最喜歡的三種顏色之一。")

這段代碼詢問用戶喜歡的顏色,然后檢查該顏色是否在預(yù)定義的顏色列表中。如果是,則打印一條友好的消息;否則,告訴用戶這不在他們喜歡的顏色范圍內(nèi)。

利用 and 與 or 連接條件

有時(shí)候我們需要同時(shí)滿足多個(gè)條件,或者只需要滿足其中一個(gè)條件即可。這時(shí)候就可以使用邏輯運(yùn)算符 and 和 or。

代碼示例:

age = int(input("請(qǐng)輸入你的年齡: "))
has_ticket = input("你有票嗎?(yes/no): ") == "yes"

if age >= 18 and has_ticket:
    print("歡迎進(jìn)入電影院!")
elif age < 18 and has_ticket:
    print("對(duì)不起,未成年人需由成人陪同。")
else:
    print("請(qǐng)先購(gòu)票。")

此示例展示了如何結(jié)合使用 and 和 or 來創(chuàng)建更復(fù)雜的邏輯判斷。只有當(dāng)用戶既符合年齡要求又有票的情況下,才能進(jìn)入電影院。

高級(jí)技巧:列表推導(dǎo)式中的條件表達(dá)式

列表推導(dǎo)式是一種簡(jiǎn)潔的方式,可以用來創(chuàng)建新列表。當(dāng)你想在生成列表的同時(shí)加入條件控制時(shí),可以在列表推導(dǎo)式中使用條件表達(dá)式。

代碼示例:

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = [num for num in numbers if num % 2 == 0]

print(even_numbers)  # 輸出: [2, 4, 6]

這段代碼創(chuàng)建了一個(gè)只包含原列表中偶數(shù)的新列表。列表推導(dǎo)式的語法非常直觀,容易理解。

實(shí)戰(zhàn)案例:自動(dòng)評(píng)分系統(tǒng)

假設(shè)我們要開發(fā)一個(gè)在線課程的自動(dòng)評(píng)分系統(tǒng)。對(duì)于每個(gè)學(xué)生的答案,系統(tǒng)需要根據(jù)多個(gè)標(biāo)準(zhǔn)給出評(píng)分。

需求分析:

  • 如果學(xué)生按時(shí)提交作業(yè),加分。
  • 如果答案完全正確,滿分;部分正確,按比例給分;完全錯(cuò)誤,零分。
  • 根據(jù)參與討論的積極性給予額外加分。

代碼實(shí)現(xiàn):

def calculate_score(submission_time, correctness, discussion_participation):
    base_score = 0
    if submission_time <= 24 * 60 * 60:  # 按時(shí)提交
        base_score += 10
    if correctness == "perfect":
        base_score += 80
    elif correctness == "partial":
        base_score += 40
    else:
        base_score += 0
    if discussion_participation >= 3:
        base_score += 10
    return base_score

# 測(cè)試數(shù)據(jù)
print(calculate_score(23 * 60 * 60, "perfect", 5))  # 應(yīng)輸出 100
print(calculate_score(25 * 60 * 60, "partial", 2))  # 應(yīng)輸出 40

在這個(gè)例子中,我們定義了一個(gè)函數(shù) calculate_score() 來計(jì)算學(xué)生的總分。通過組合使用多個(gè)條件判斷,實(shí)現(xiàn)了對(duì)不同情況下的評(píng)分規(guī)則。

總結(jié)

通過本文的學(xué)習(xí),你應(yīng)該已經(jīng)掌握了 Python 中條件控制的基本用法以及一些高級(jí)技巧。從簡(jiǎn)單的 if 語句到復(fù)雜的多條件組合,再到列表推導(dǎo)式中的條件表達(dá)式,每一步都為我們提供了更強(qiáng)大的編程能力。記住,條件控制是編寫邏輯清晰、功能豐富的程序的基礎(chǔ)。不斷練習(xí),你會(huì)越來越熟練地運(yùn)用這些技巧解決實(shí)際問題!

責(zé)任編輯:趙寧寧 來源: 手把手PythonAI編程
相關(guān)推薦

2018-12-04 09:34:22

程序員薪水Python

2018-11-12 09:00:33

2022-05-07 10:50:53

數(shù)據(jù)庫Facebook項(xiàng)目

2024-09-23 09:00:00

Python條件控制

2010-06-21 11:11:42

Windows 7技巧

2010-03-18 16:37:13

Python 程序流程

2024-05-16 11:09:40

Python字符串代碼

2024-08-22 08:57:32

Python技巧參數(shù)

2020-06-10 08:37:21

JavaScript重構(gòu)技巧

2021-08-17 11:20:25

Vue前端技巧

2023-10-31 08:15:51

2019-06-27 10:35:40

JavaScript條件式匹配條件

2017-10-20 12:00:36

Python全局解釋器鎖GIL

2023-12-27 14:19:33

Python內(nèi)置函數(shù)開發(fā)

2020-05-15 21:00:42

pythonkaif開發(fā)代碼

2009-12-31 10:06:47

ADO .NET組件

2024-09-05 16:02:52

Python數(shù)據(jù)類型字符串

2024-06-03 09:00:00

Python代碼

2010-08-26 10:18:51

2022-07-04 08:51:43

條件語句JavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)