最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python流程控制之條件循環(huán)與異常處理實戰(zhàn)指南

 更新時間:2026年01月19日 10:54:12   作者:流?  
在Python編程語言中,流程控制語句是構建程序邏輯的基礎構件之一,它們決定了程序中語句的執(zhí)行順序,允許我們創(chuàng)建更加復雜和動態(tài)的代碼結構,這篇文章主要介紹了Python流程控制之條件循環(huán)與異常處理實戰(zhàn)的相關資料,需要的朋友可以參考下

前言

在編程中,流程控制是決定程序執(zhí)行路徑的核心機制。Python 提供了清晰、簡潔的語法來實現條件判斷、循環(huán)和異常處理,使代碼邏輯更靈活、健壯。

1. 條件判斷語句

條件判斷用于根據布爾值(True/False)決定是否執(zhí)行某段代碼。

1.1if語句

最簡單的條件判斷形式:當條件為 True 時,執(zhí)行代碼塊。

age = 18
if age >= 18:
    print("你已成年,可以投票!")

?? 注意:Python 使用縮進(通常是 4 個空格)表示代碼塊,而非大括號 {}。

1.2 布爾值(Boolean)

條件判斷的核心是布爾表達式,其結果為 True 或 False。

常見返回布爾值的操作:

print(5 > 3)        # True
print("a" == "A")   # False(區(qū)分大小寫)
print(10 != 20)     # True

哪些值會被視為False?

  • False
  • None
  • 數字 0、0.0
  • 空字符串 ""
  • 空列表 []、空字典 {}、空元組 ()

其余所有值均為 True。

if []: 
    print("不會執(zhí)行")
if "Hello":
    print("非空字符串為 True")  # 會執(zhí)行

1.3if + else語句

提供“二選一”邏輯:條件成立執(zhí)行 if 塊,否則執(zhí)行 else 塊。

score = 85
if score >= 60:
    print("及格!")
else:
    print("不及格,請努力!")

1.4if + elif + else語句

用于多分支判斷。elif 是 “else if” 的縮寫。

a = int(input("請輸入您的年齡:"))
if a < 10:
    print("您是兒童")
elif a < 16:
    print("您是少年")
else:
    print("您比少年大")

?? 執(zhí)行規(guī)則:從上到下依次判斷,一旦某個條件為 True,后續(xù) elif/else 將被跳過。

1.5 多個elif語句

Python 允許任意數量的 elif,適用于復雜分級場景。當需要對多個條件進行判斷時,可以插入多個elif語句。

a = int(input("請輸入您的年齡:"))
if a < 10:
    print("您是兒童")
elif a < 16:
    print("您是少年")
elif a < 30:
    print("您是青年")
elif a < 59:
    print("您是中年人")
else:
    print("您是老年人")

代碼執(zhí)行結果(當用戶輸入79):

請輸入您的年齡:79
您是老年人

1.6 條件判斷語句的嵌套

條件判斷語句中的代碼塊也可以包含一個或多個條件判斷語句。在 if 塊內部再寫 if,實現更精細的邏輯控制。

a = int(input("請輸入您的年齡:"))
if a < 10:
    if a < 1:        
        print("您是嬰兒")
    else:
        print("您是兒童")
elif a < 16:
    print("您是少年")
else:
    print("您比少年大")

?? 建議:嵌套不宜過深(一般不超過 3 層),否則影響可讀性。

1.7 多個條件判斷語句

使用邏輯運算符組合多個條件:

運算符含義示例
and且(都為真才真)age >= 18 and score >= 60
or或(有一個為真即真)weather == "sunny" or temp > 30
not非(取反)not is_raining
username = "admin"
password = "123456"

if username == "admin" and password == "123456":
    print("登錄成功!")
else:
    print("用戶名或密碼錯誤")

1.8if + else的復合寫法(三元表達式)

Python 支持一行寫法,適用于簡單賦值或返回。

語法:

表達式1 if 條件判斷語句 else 表達式2

示例:

age = 20
status = "成年" if age >= 18 else "未成年"
print(status)  # 成年

# 也可用于 print
print("及格" if score >= 60 else "不及格")

? 優(yōu)點:簡潔;? 缺點:復雜邏輯不適用,可讀性下降。

2. 循環(huán)語句

循環(huán)用于重復執(zhí)行某段代碼,直到滿足特定條件。

2.1for循環(huán)

用于遍歷可迭代對象(如字符串、列表、字典、range 等)。

基本用法:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

range()函數

生成數字序列,常用于控制循環(huán)次數。

調用方式說明示例
range(stop)從 0 到 stop-1range(3) → 0,1,2
range(start, stop)從 start 到 stop-1range(2, 5) → 2,3,4
range(start, stop, step)指定步長range(0, 10, 2) → 0,2,4,6,8
for i in range(5):
    print(f"第 {i+1} 次循環(huán)")

for循環(huán)的復合寫法(列表推導式)

一行生成新列表,本質是 for 的簡化。

# 普通寫法
squares = []
for x in range(5):
    squares.append(x ** 2)

# 列表推導式(推薦)
squares = [x ** 2 for x in range(5)]
print(squares)  # [0, 1, 4, 9, 16]

?? 列表推導式還可加條件:

evens = [x for x in range(10) if x % 2 == 0]  # [0, 2, 4, 6, 8]

2.2while循環(huán)

只要條件為 True,就持續(xù)循環(huán)。

count = 0
while count < 3:
    print(f"計數:{count}")
    count += 1  # 必須有退出機制,否則死循環(huán)!

?? 警惕死循環(huán):確保循環(huán)體內有改變條件的語句。

2.3 嵌套循環(huán)

在一個循環(huán)內部再寫一個循環(huán),常用于處理二維結構。

import time

for i in range(60):  
    for j in range(60):  
        time.sleep(1)  
        print(f'當前時間為 {i} 分 {j} 秒')
    print(f"{i} 分鐘結束")

運行結果:

2.4break和continue語句

  • break立即退出整個循環(huán)
  • continue跳過本次循環(huán)剩余代碼,進入下一次循環(huán)

示例:

# break:找到目標就停止
for num in [1, 3, 5, 7, 9]:
    if num == 5:
        print("找到 5,退出循環(huán)")
        break
    print(num)

# continue:跳過偶數
for i in range(1, 6):
    if i % 2 == 0:
        continue
    print(i)  # 輸出:1, 3, 5

break 和 continue 在 for 和 while 中均可使用。

3. 異常處理語句

程序運行時可能遇到錯誤(如除零、文件不存在)。異常處理機制可捕獲錯誤并優(yōu)雅處理,避免程序崩潰。

3.1 異常處理語句的使用

使用 try...except 結構:

try:
    n = int(input("請輸入一個整數:"))
    print(n)
except:
    print("您輸入的不是一個整數")
a = 3
print("a的內容為:", a)

完整結構:

try:
    # 可能出錯的代碼
except ExceptionType1:
    # 處理異常1
except ExceptionType2:
    # 處理異常2
else:
    # 無異常時執(zhí)行
finally:
    # 無論是否有異常,都會執(zhí)行(常用于清理資源)

3.2 異常捕獲

捕獲多種異常:

try:
    num = int(input("請輸入一個數字:"))
    result = 100 / num
except ValueError:
    print("輸入的不是有效數字!")
except ZeroDivisionError:
    print("不能除以零!")
except Exception as e:
    print(f"發(fā)生了未知錯誤:{e}")
else:
    print(f"結果是:{result}")
finally:
    print("程序結束。")

常見內置異常類型:

異常觸發(fā)場景
ValueError類型轉換失?。ㄈ?nbsp;int("abc")
ZeroDivisionError除零錯誤
FileNotFoundError文件未找到
IndexError列表索引越界
KeyError字典鍵不存在

最佳實踐

  • 盡量捕獲具體異常,而非籠統(tǒng)的 Exception
  • 在 except 中記錄日志或提示用戶,不要靜默忽略錯誤

項目案例:實現超市收銀系統(tǒng)

項目描述:

某超市的白菜標價為2.5元/千克,根據頗客購買量的不同有不同的折扣。

  • 如果顧客的購買量小于2千克,則 打9折;
  • 如果顧客的購買量為2~4(不包括4)千克,則打8折;
  • 如果顧客的購買量為4~10(不包括10)千克,則打6折;
  • 如果顧客的購買量大于等于10千克,則打4折。

項目任務:

現需要設計一個代碼程序,用于實現在營業(yè)員輸入白菜重量之后自動計算出顧客需要支付的金額。

項目實現代碼:

while True:
    try:
        weight = float(input('請輸入白菜的重量:'))
        break
    except:
        print("輸入錯誤,重新輸入,", end='')
if weight < 2.0:
    print("請付款:", weight*2.5*0.9, '元')
elif weight < 4.0:
    print("請付款:", weight*2.5*0.8, '元')
elif weight < 10.0:
    print("請付款:", weight*2.5*0.6, '元')
else:
    print("請付款:", weight*2.5*0.4, '元')

項目實現結果:

以上代碼只能實現計算一位顧客需要支付的金額,每成功計算出一位顧客需要支付的金額后,程序會自動結束。

基于此我們還可以將代碼進行改進,以實現在計算完一位頤客需要支付的金額后會繼快計算下一位顧客 需要支付的金額。改進后的代碼如下:

while True:
    try:
        weight = float(input('請輸入白菜的重量:'))
        if weight < 2.0:
            print("請付款:", weight*2.5*0.9, '元')
        elif weight < 4.0:
            print("請付款:", weight*2.5*0.8, '元')
        elif weight < 10.0:
            print("請付款:", weight*2.5*0.6, '元')2
        else:
            print("請付款:", weight*2.5*0.4, '元')
    except:
        print("輸入錯誤,重新輸入,", end='')

改進后的項目實現結果:

??改進后的代碼程序更滿足實際的使用需求,這是因為改進后的代碼將條件判斷語句加入了while循環(huán)語句的try代碼塊中,因此代碼會一直循環(huán)下去

總結 

到此這篇關于Python流程控制之條件循環(huán)與異常處理的文章就介紹到這了,更多相關Python條件循環(huán)與異常處理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

临夏市| 凌云县| 冀州市| 塔河县| 定西市| 太仆寺旗| 靖江市| 建昌县| 额济纳旗| 鄂温| 景泰县| 文水县| 祁连县| 乐业县| 双城市| 台东市| 镇坪县| 沙坪坝区| 姚安县| 九寨沟县| 章丘市| 桃园县| 彭阳县| 沧源| 全州县| 丹东市| 隆子县| 双牌县| 三门县| 巴南区| 亳州市| 常德市| 洛南县| 高平市| 岳阳县| 扎囊县| 花莲县| 兴城市| 江口县| 东台市| 东山县|