成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于 Python 的條件控制技巧

開發
Python 提供了多種方式來實現條件控制,包括 if 語句、elif 語句和 else 語句等。掌握這些基礎可以幫助你寫出更加靈活和智能的程序。

在編程中,條件控制是實現邏輯判斷的基礎。Python 提供了多種方式來實現條件控制,包括 if 語句、elif 語句和 else 語句等。掌握這些基礎可以幫助你寫出更加靈活和智能的程序。

基本的條件控制語句

1. if 語句

用途:用于基于某個條件執行一段代碼塊。

語法:

if condition:
    # 條件為真時執行的代碼

示例:編寫一個程序,判斷一個數字是否大于 10。

number = 15

if number > 10:
    print("這個數字大于 10")

輸出:

這個數字大于 10

解釋:這里 number > 10 是一個條件表達式。如果這個表達式的值為 True,那么打印語句就會被執行。

技巧:在判斷之前可以先檢查變量是否已經定義,避免運行時錯誤。

number = input("請輸入一個數字:")

if number.isdigit():  # 檢查輸入是否為數字
    number = int(number)
    if number > 10:
        print("這個數字大于 10")
else:
    print("請輸入有效的數字")

注意事項:確保在使用條件語句時考慮所有可能的情況,避免遺漏。

2. if-else 語句

用途:用于在條件為真或假時分別執行不同的代碼塊。

語法:

if condition:
    # 條件為真時執行的代碼
else:
    # 條件為假時執行的代碼

示例:判斷一個年份是否為閏年。

year = 2024

if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print(year, "是閏年")
else:
    print(year, "不是閏年")

輸出:

2024 是閏年

解釋:閏年的規則是能被 4 整除但不能被 100 整除,或者能被 400 整除。

技巧:可以將復雜的條件拆分成多個簡單的條件組合。

is_divisible_by_4 = year % 4 == 0
is_not_divisible_by_100 = year % 100 != 0
is_divisible_by_400 = year % 400 == 0

if is_divisible_by_4 and is_not_divisible_by_100 or is_divisible_by_400:
    print(year, "是閏年")
else:
    print(year, "不是閏年")

注意事項:在處理多個條件時,注意運算符的優先級。

3. if-elif-else 語句

用途:用于根據多個條件選擇執行不同的代碼塊。

語法:

if condition1:
    # 條件 1 為真時執行的代碼
elif condition2:
    # 條件 2 為真時執行的代碼
else:
    # 其他情況執行的代碼

示例:根據成績等級輸出評語。

score = 85

if score >= 90:
    print("優秀")
elif score >= 70:
    print("良好")
else:
    print("加油")

輸出:

良好

解釋:首先檢查 score >= 90,如果為真,則打印“優秀”。否則,再檢查 score >= 70,如果為真,則打印“良好”。否則,打印“加油”。

技巧:可以根據實際情況添加更多的 elif 分支。

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

注意事項:在編寫多個條件分支時,注意順序的重要性,確保每個條件都能正確地被評估。

進階的條件控制技術

1. 嵌套 if 語句

用途:在一個 if 語句內部再包含另一個 if 語句,實現更復雜的邏輯判斷。

語法:

if outer_condition:
    if inner_condition:
        # 條件為真時執行的代碼
    else:
        # 內部條件為假時執行的代碼
else:
    # 外部條件為假時執行的代碼

示例:判斷一個用戶是否成年以及是否有駕駛資格。

age = 20
has_driving_license = True

if age >= 18:
    if has_driving_license:
        print("你可以開車")
    else:
        print("你需要考取駕照")
else:
    print("你還未成年")

輸出:

你可以開車

解釋:首先檢查年齡是否大于等于 18 歲,如果為真,則進一步檢查是否有駕駛執照。否則,打印“你還未成年”。

技巧:嵌套 if 語句可以用來處理多個層次的邏輯關系。

if age >= 18:
    if has_driving_license:
        print("你可以開車")
    elif age >= 16:
        print("你可以申請駕照")
    else:
        print("你需要等到 16 歲才能申請駕照")
else:
    print("你還未成年")

注意事項:嵌套層數過多可能會導致代碼難以閱讀和維護,盡量保持簡潔。

2. 使用邏輯運算符

用途:通過邏輯運算符(如 and、or 和 not)來組合多個條件,實現更復雜的邏輯判斷。

示例:判斷用戶是否滿足特定條件。

age = 25
is_student = False

if age >= 18 and not is_student:
    print("你可以申請信用卡")
else:
    print("你不滿足條件")

輸出:

你可以申請信用卡

解釋:這里使用了 and 運算符和 not 運算符。只有當年齡大于等于 18 歲并且不是學生時,才會打印“你可以申請信用卡”。

技巧:合理使用邏輯運算符可以使條件判斷更加簡潔明了。

if age >= 18 and (not is_student or income >= 20000):
    print("你可以申請信用卡")
else:
    print("你不滿足條件")

注意事項:在使用邏輯運算符時,要注意運算符的優先級,必要時使用括號來明確優先級。

3. 使用條件表達式

用途:條件表達式是一種簡化形式的 if-else 語句,可以在一行內實現條件判斷。

語法:

value = some_value if condition else another_value

示例:根據年齡返回相應的評價。

age = 25

result = "成年人" if age >= 18 else "未成年人"
print(result)

輸出:

成年人

解釋:這里使用了條件表達式 age >= 18,如果條件為真,則 result 被賦值為 "成年人",否則賦值為 "未成年人"。

技巧:條件表達式適用于簡單的條件判斷,可以使代碼更加簡潔。

score = 85
grade = "優秀" if score >= 90 else ("良好" if score >= 70 else "加油")
print(grade)

注意事項:條件表達式雖然簡潔,但嵌套過多會降低代碼的可讀性,要適度使用。

4. 使用列表推導式和條件表達式

用途:通過列表推導式結合條件表達式來簡化循環和條件判斷。

語法:

result = [expression for item in iterable if condition]

示例:找出一個列表中所有偶數的平方。

numbers = [1, 2, 3, 4, 5, 6]

squares = [num ** 2 for num in numbers if num % 2 == 0]
print(squares)

輸出:

[4, 16, 36]

解釋:這里使用了列表推導式 [num ** 2 for num in numbers if num % 2 == 0],只有當 num 是偶數時,才會計算其平方并加入到結果列表中。

技巧:列表推導式結合條件表達式可以使代碼更加簡潔。

even_squares = [num ** 2 if num % 2 == 0 else num for num in numbers]
print(even_squares)

注意事項:列表推導式雖然簡潔,但嵌套過多會降低代碼的可讀性,要適度使用。

5.實戰案例:成績管理系統

假設我們已經實現了基本的成績管理系統,現在將進一步完善系統功能,使其能夠處理更多的場景。

需求: 1. 輸入學生的姓名、年齡和分數。 2. 根據分數輸出相應的評價(優秀、良好、合格、及格、不及格)。 3. 記錄學生的基本信息,并保存到文件中。 4. 提供查詢功能,允許用戶查詢學生的成績和評價。

步驟:

(1) 輸入學生信息:

獲取學生的姓名、年齡和分數。

檢查輸入的有效性。

import json

def get_student_info():
    name = input("請輸入學生姓名:")
    age = input("請輸入學生年齡:")
    score = input("請輸入學生成績:")

    if not name.strip() or not age.isdigit() or not score.isdigit():
        print("輸入有誤,請重新輸入!")
        return None

    age = int(age)
    score = int(score)

    return {"name": name, "age": age, "score": score}

(2) 根據分數輸出評價:

判斷分數范圍并輸出相應的評價。

def evaluate_score(score):
    if score >= 90:
        return "優秀"
    elif score >= 80:
        return "良好"
    elif score >= 70:
        return "合格"
    elif score >= 60:
        return "及格"
    else:

(3) 記錄學生信息:

將學生信息保存到 JSON 文件中。

def save_student_info(student_info):
    with open("students.json", "a") as file:
        json.dump(student_info, file)
        file.write("\n")

(4) 查詢學生信息:

讀取文件中的學生信息,并根據姓名查詢成績和評價。

def query_student_info(name):
    with open("students.json", "r") as file:
        students = [json.loads(line) for line in file]

    for student in students:
        if student["name"] == name:
            evaluation = evaluate_score(student["score"])
            print(f"{name} 的成績為 {evaluation}")
            return

    print(f"沒有找到 {name} 的信息")

(5) 主程序:

  • 輸入學生信息。
  • 輸出評價。
  • 保存學生信息。
  • 查詢學生信息。
def main():
    while True:
        print("請選擇操作:")
        print("1. 添加學生信息")
        print("2. 查詢學生信息")
        print("3. 退出")
        choice = input("請輸入選項:")

        if choice == "1":
            student_info = get_student_info()
            if student_info:
                evaluation = evaluate_score(student_info["score"])
                print(f"{student_info['name']} 的成績為 {evaluation}")
                save_student_info(student_info)
        elif choice == "2":
            name = input("請輸入學生姓名:")
            query_student_info(name)
        elif choice == "3":
            break
        else:
            print("無效的選項,請重新輸入!")

if __name__ == "__main__":
    main()

運行結果:

請選擇操作:
**1.** 添加學生信息
**2.** 查詢學生信息
**3.** 退出
請輸入選項:1
請輸入學生姓名:張三
請輸入學生年齡:20
請輸入學生成績:85
張三 的成績為 良好
請選擇操作:
**1.** 添加學生信息
**2.** 查詢學生信息
**3.** 退出
請輸入選項:2
請輸入學生姓名:張三
張三 的成績為 良好
請選擇操作:
**1.** 添加學生信息
**2.** 查詢學生信息
**3.** 退出
請輸入選項:3

分析:

  • 輸入檢查:在獲取學生信息時,檢查了姓名、年齡和分數的有效性,避免了無效輸入。
  • 條件判斷:使用了嵌套的 if-elif-else 語句來判斷分數范圍,并輸出相應的評價。
  • 數據保存:將學生信息以 JSON 格式保存到文件中,方便后續查看和管理。
  • 查詢功能:通過讀取文件中的數據,并根據姓名查詢學生的成績和評價。

技巧和注意事項:

  • 在輸入檢查時,使用了字符串和整數類型的轉換函數,確保數據類型的一致性。
  • 條件判斷時,合理安排了條件的順序,使得邏輯更加清晰。
  • 數據保存時,使用了文件操作函數,確保數據的安全性和持久性。
  • 查詢功能時,使用了列表推導式來讀取文件中的數據,并通過循環查找指定的學生信息。
責任編輯:趙寧寧 來源: 手把手PythonAI編程
相關推薦

2024-09-23 10:30:00

Python編程條件控制

2024-05-28 14:45:00

2011-09-20 15:19:15

Python

2020-06-10 08:37:21

JavaScript重構技巧

2023-07-25 11:22:31

2017-03-13 16:48:05

Git技巧

2010-03-18 16:37:13

Python 程序流程

2019-06-27 10:35:40

JavaScript條件式匹配條件

2022-11-04 15:56:41

2011-04-07 16:46:09

Solaris

2023-02-02 14:06:00

history命令技巧

2023-10-31 08:15:51

2010-05-20 16:49:18

2020-11-16 11:56:57

機器學習技術工具

2022-04-02 09:56:44

pipPython

2017-09-06 12:42:45

AndroidGradle開發技巧

2022-07-04 08:51:43

條件語句JavaScript

2024-06-03 09:00:00

Python代碼

2024-03-06 10:50:30

云計算云實例云提供商

2011-07-11 13:52:45

Windows控制臺
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日干天天操 | 日韩手机在线视频 | 日本黄色的视频 | 97超碰在线免费 | 一区二区三区回区在观看免费视频 | 99re6在线视频 | 91精品中文字幕一区二区三区 | 成人黄视频在线观看 | 日本又色又爽又黄又高潮 | 午夜av毛片| 欧美激情精品久久久久 | 国内久久| 影音先锋中文字幕在线观看 | 国产欧美日韩一区二区三区在线 | 欧美亚洲国产成人 | www.久久.com | 成人在线电影在线观看 | 天天亚洲 | 天天夜天天操 | 欧美精品成人 | 99视频精品 | 欧美激情综合 | 久久人人网 | 精品久久久久久久久久久久 | 欧美不卡一区二区三区 | 欧美日韩免费在线 | 日韩欧美三级电影 | 久久日韩粉嫩一区二区三区 | 一区二区三区视频 | 成人免费一区二区三区视频网站 | 日韩精品久久一区 | 亚洲精选一区二区 | 手机看黄av免费网址 | 成年人在线播放 | www.99久久.com| 在线播放一区 | wwww.8888久久爱站网 | 午夜小视频免费观看 | 免费看国产一级特黄aaaa大片 | 亚洲国产精品视频一区 | 欧美黄色性生活视频 |