<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      人工智能之編程基礎 Python 入門

      第四章 條件循環與異常


      @


      前言

      本章節緊接上一章內容繼續學習python的基本語法結構,主要學習條件語句、循環語句以及錯誤異常的處理方式。


      條件語句

      Python 中的條件語句用于根據不同的條件執行不同的代碼塊。主要的條件語句是 if、elif(else if 的縮寫)和 else。

      基本語法

      if 條件1:
          # 條件1為真時執行的代碼
          語句塊1
      elif 條件2:
          # 條件1為假,且條件2為真時執行的代碼
          語句塊2
      else:
          # 所有前面的條件都為假時執行的代碼
          語句塊3
      

      關鍵點:

      1. ?冒號 (:)?: 每個 if, elif, else 語句后面必須跟一個冒號。
      2. ?縮進?: 冒號后面的代碼塊必須縮進(通常使用 4 個空格)。Python 通過縮進來判斷哪些代碼屬于哪個條件分支。
      3. ?elifelse 是可選的?: 你可以只有 if,也可以有 if-elseif-elif-else 鏈。
      4. ?條件求值?: 條件表達式的結果會被轉換為布爾值 (TrueFalse)。

      示例

      1. 簡單的 if 語句

      age = 18
      if age >= 18:
          print("你已成年,可以投票!")
      print("程序結束。") # 這行代碼總是會執行
      

      輸出:

      你已成年,可以投票!
      程序結束。
      

      2. if-else 語句

      age = 16
      if age >= 18:
          print("你已成年,可以投票!")
      else:
          print("你還未成年,需要等待。")
      print("程序結束。")
      

      輸出:

      你還未成年,需要等待。
      程序結束。
      

      3. if-elif-else 語句 (處理多個條件)

      score = 85
      if score >= 90:
          grade = 'A'
      elif score >= 80: # 注意:因為score<90才會到這里,所以這里只需檢查>=80
          grade = 'B'
      elif score >= 70:
          grade = 'C'
      elif score >= 60:
          grade = 'D'
      else:
          grade = 'F'
      print(f"你的成績等級是: {grade}")
      

      輸出:

      你的成績等級是: B
      

      4. 嵌套的 if 語句

      age = 20
      has_license = True
      
      if age >= 18:
          if has_license:
              print("你可以合法駕駛。")
          else:
              print("你年齡夠了,但需要先考駕照。")
      else:
          print("你還太小,不能駕駛。")
      

      輸出:

      你可以合法駕駛。
      

      真值測試 (Truthiness)

      在 Python 中,很多值在條件語句中會被自動轉換為布爾值:

      • 被認為是 False 的值 (falsy):
        • False
        • None
        • 數值零:0, 0.0
        • 空序列:"", [], (), {}
        • 空集合:set()
      • 其他所有值都被認為是 True (truthy):
        • True
        • 非零數值
        • 非空字符串、列表、元組、字典等

      示例:

      my_list = [1, 2, 3]
      if my_list: # 檢查列表是否非空,比 len(my_list) > 0 更Pythonic
          print("列表不為空,包含元素:", my_list)
      else:
          print("列表為空。")
      
      name = ""
      if name: # 檢查字符串是否非空
          print(f"你好, {name}!")
      else:
          print("名字不能為空。")
      

      輸出:

      列表不為空,包含元素: [1, 2, 3]
      名字不能為空。
      

      循環語句

      Python 中的循環語句用于重復執行一段代碼,直到滿足某個條件為止。主要有兩種類型的循環:for 循環和 while 循環。

      1. for 循環

      for 循環用于遍歷序列(如列表、元組、字符串)或其他可迭代對象。

      基本語法

      for 變量 in 序列:
          # 循環體
          語句塊
      

      示例

      # 遍歷列表
      fruits = ["蘋果", "香蕉", "橙子"]
      for fruit in fruits:
          print(fruit)
      

      輸出:

      蘋果
      香蕉
      橙子
      
      # 遍歷字符串
      word = "Python"
      for letter in word:
          print(letter)
      

      輸出:

      P
      y
      t
      h
      o
      n
      
      # 使用 range() 函數
      for i in range(5): # range(5) 生成 0, 1, 2, 3, 4
          print(i)
      

      輸出:

      0
      1
      2
      3
      4
      
      # range(start, stop, step)
      for i in range(1, 10, 2): # 從1開始,到10結束(不包含10),步長為2
          print(i)
      

      輸出:

      1
      3
      5
      7
      9
      

      2. while 循環

      while 循環在條件為 True 時重復執行代碼塊。

      基本語法

      while 條件:
          # 循環體
          語句塊
          # 更新條件,避免無限循環
      

      示例

      # 計數器循環
      count = 0
      while count < 5:
          print(count)
          count += 1 # 重要:更新條件變量,否則會無限循環
      

      輸出:

      0
      1
      2
      3
      4
      
      # 用戶輸入循環
      user_input = ""
      while user_input.lower() != "退出":
          user_input = input("請輸入命令(輸入'退出'結束): ")
          print(f"你輸入了: {user_input}")
      

      3. 循環控制語句

      • break: 立即退出循環。
      • continue: 跳過當前迭代,繼續下一次迭代。

      示例

      # 使用 break
      for i in range(10):
          if i == 5:
              break
          print(i)
      

      輸出:

      0
      1
      2
      3
      4
      
      # 使用 continue
      for i in range(5):
          if i == 2:
              continue
          print(i)
      

      輸出:

      0
      1
      3
      4
      

      4. else 子句

      forwhile 循環都可以有一個可選的 else 子句。當循環正常結束(沒有被 break 中斷)時,else 子句會執行。

      示例

      # for-else
      for i in range(3):
          print(i)
      else:
          print("循環正常結束")
      

      輸出:

      0
      1
      2
      循環正常結束
      
      # for-else with break
      for i in range(5):
          if i == 3:
              break
          print(i)
      else:
          print("循環正常結束") # 這行不會執行,因為循環被break了
      
      print("循環結束")
      

      輸出:

      0
      1
      2
      循環結束
      

      5. 嵌套循環

      循環內部可以包含另一個循環。

      示例

      # 打印乘法表
      for i in range(1, 4):
          for j in range(1, 4):
              print(f"{i} * {j} = {i * j}", end="  ")
          print() # 換行
      

      輸出:

      1 * 1 = 1  1 * 2 = 2  1 * 3 = 3  
      2 * 1 = 2  2 * 2 = 4  2 * 3 = 6  
      3 * 1 = 3  3 * 2 = 6  3 * 3 = 9
      

      6. 實用技巧

      遍歷時獲取索引

      fruits = ["蘋果", "香蕉", "橙子"]
      for index, fruit in enumerate(fruits):
          print(f"索引 {index}: {fruit}")
      

      輸出:

      索引 0: 蘋果
      索引 1: 香蕉
      索引 2: 橙子
      

      同時遍歷多個序列

      names = ["Alice", "Bob", "Charlie"]
      ages = [25, 30, 35]
      for name, age in zip(names, ages):
          print(f"{name} 今年 {age} 歲")
      

      輸出:

      Alice 今年 25 歲
      Bob 今年 30 歲
      Charlie 今年 35 歲
      

      錯誤與異常

      在 Python 編程中,錯誤主要分為兩類:語法錯誤(Syntax Errors) 和 ?異常(Exceptions)?。理解它們的區別和處理方法對于編寫健壯的程序至關重要。

      1. 語法錯誤 (Syntax Errors)

      語法錯誤發生在 Python 解釋器解析代碼時,發現代碼不符合 Python 的語法規則。這類錯誤會在程序運行前就被檢測出來,導致程序無法啟動。

      常見的語法錯誤示例:

      # 1. 缺少冒號
      if x > 5
          print("x is greater than 5")
      
      # 2. 括號不匹配
      print("Hello World"
      
      # 3. 縮進錯誤
      if x > 5:
      print("x is greater than 5") # 缺少縮進
      
      # 4. 引號不匹配
      message = "Hello World'
      

      語法錯誤的特點:

      • 發生在程序運行之前
      • Python 解釋器會指出錯誤的行號和類型
      • 必須修正后程序才能運行

      2. 異常 (Exceptions)

      異常是在程序運行過程中發生的錯誤,此時代碼的語法是正確的,但在執行時遇到了問題(如除零、訪問不存在的文件等)。

      常見的異常類型:

      異常類型 描述 示例
      ZeroDivisionError 除以零 10 / 0
      NameError 變量名未定義 print(undefined_variable)
      TypeError 操作或函數應用于不適當類型的對象 "hello" + 5
      ValueError 操作或函數接收到類型正確但值不合適的參數 int("hello")
      IndexError 序列中沒有此索引 my_list[10](列表長度不足)
      KeyError 字典中沒有此鍵 my_dict["missing_key"]
      FileNotFoundError 文件未找到 open("nonexistent.txt")

      異常示例:

      # ZeroDivisionError
      print(10 / 0)  # ZeroDivisionError: division by zero
      
      # ValueError
      int("hello")   # ValueError: invalid literal for int() with base 10: 'hello'
      
      # IndexError
      my_list = [1, 2, 3]
      print(my_list[5])  # IndexError: list index out of range
      

      3. 異常處理

      Python 提供了 try-except 語句來處理異常,讓程序在遇到錯誤時不會崩潰,而是執行預設的錯誤處理代碼。

      基本語法:

      try:
          # 可能出現異常的代碼
          可能出錯的代碼
      except ExceptionType:
          # 處理特定異常的代碼
          錯誤處理代碼
      except AnotherExceptionType:
          # 處理另一種異常
          錯誤處理代碼
      else:
          # 沒有異常時執行的代碼(可選)
          無異常時的代碼
      finally:
          # 無論是否有異常都會執行的代碼(可選)
          最終清理代碼
      

      示例:

      # 基本異常處理
      try:
          x = int(input("請輸入一個數字: "))
          result = 10 / x
          print(f"結果是: {result}")
      except ValueError:
          print("輸入的不是有效數字!")
      except ZeroDivisionError:
          print("不能除以零!")
      except Exception as e:
          print(f"發生了未預期的錯誤: {e}")
      else:
          print("計算成功完成!")
      finally:
          print("程序執行完畢。")
      
      # 捕獲所有異常
      try:
          # 一些可能出錯的代碼
          file = open("nonexistent.txt", "r")
      except:
          print("發生了某種錯誤!")
      
      # 捕獲異常對象
      try:
          numbers = [1, 2, 3]
          print(numbers[10])
      except IndexError as e:
          print(f"索引錯誤: {e}")
      

      4. 拋出異常

      可以使用 raise 語句手動拋出異常。

      def validate_age(age):
          if age < 0:
              raise ValueError("年齡不能為負數")
          if age > 150:
              raise ValueError("年齡不能超過150")
          return True
      
      try:
          validate_age(-5)
      except ValueError as e:
          print(f"驗證失敗: {e}")
      

      5. 自定義異常

      可以創建自定義異常類來處理特定的錯誤情況。

      class CustomError(Exception):
          """自定義異常類"""
          pass
      
      class AgeError(Exception):
          """年齡相關的異常"""
          def __init__(self, message):
              self.message = message
              super().__init__(self.message)
      
      try:
          raise AgeError("年齡不在有效范圍內")
      except AgeError as e:
          print(f"自定義異常: {e.message}")
      

      6. 最佳實踐

      1. ?具體化異常處理?:盡量捕獲具體的異常類型,而不是使用通用的 except
      2. ?避免空的 except 塊?:至少要記錄錯誤或采取適當的措施。
      3. ?使用 finally 進行清理?:在 finally 塊中進行資源清理工作。
      4. ?不要忽略異常?:即使不處理,也要記錄下來。
      # 好的做法
      try:
          file = open("data.txt", "r")
          content = file.read()
      except FileNotFoundError:
          print("文件未找到")
      except PermissionError:
          print("沒有權限訪問文件")
      finally:
          if 'file' in locals() and not file.closed:
              file.close()
      

      總結

      本文主要對python的條件循環以及錯誤語法的敘述與實踐,下一章節會學習python的基本數據結構,以及基本數據結構的用法,它們之間的相互轉換,和迭代生成。

      資料關注

      相關資料全部免費獲取:
      歡迎關注公眾號:咚咚王

      藝術二維碼.png

      《Python編程:從入門到實踐》
      《利用Python進行數據分析》
      《算法導論中文第三版》
      《概率論與數理統計(第四版) (盛驟) 》
      《程序員的數學》
      《線性代數應該這樣學第3版》
      《微積分和數學分析引論》
      《(西瓜書)周志華-機器學習》
      《TensorFlow機器學習實戰指南》
      《Sklearn與TensorFlow機器學習實用指南》
      《模式識別(第四版)》
      《深度學習 deep learning》伊恩·古德費洛著 花書
      《Python深度學習第二版(中文版)【純文本】 (登封大數據 (Francois Choliet)) (Z-Library)》
      《深入淺出神經網絡與深度學習+(邁克爾·尼爾森(Michael+Nielsen) 》
      《自然語言處理綜論 第2版》
      《Natural-Language-Processing-with-PyTorch》
      《計算機視覺-算法與應用(中文版)》
      《Learning OpenCV 4》
      《AIGC:智能創作時代》杜雨+&+張孜銘
      《AIGC原理與實踐:零基礎學大語言模型、擴散模型和多模態模型》
      《從零構建大語言模型(中文版)》
      《實戰AI大模型》
      《AI 3.0》

       posted on 2025-11-01 07:45  咚咚王者  閱讀(101)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美人与zoxxxx另类| 97人妻蜜臀中文字幕| 亚洲欧美日韩在线码| 崇左市| 性色在线视频精品| 久久精品蜜芽亚洲国产AV| 五月婷久久麻豆国产| 亚洲精品无码久久一线| 亚洲国产av剧一区二区三区 | 婷婷综合缴情亚洲| 日韩日韩日韩日韩日韩| 国产一区二区三区九九视频| 99福利一区二区视频| 男女性高爱潮免费网站| 在线看av一区二区三区| 国产嫩草精品网亚洲av| 国产无遮挡免费视频免费| 天堂一区人妻无码| 久久一日本道色综合久久| 人妻中文字幕精品系列| 国产片AV国语在线观看手机版| 国产精品人成视频免费播放| 国产V日韩V亚洲欧美久久| 免费国产精品视频在线| 亚洲熟女综合色一区二区三区| 亚洲国产永久精品成人麻豆| 人妻一区二区三区三区| 少妇又爽又刺激视频| 精品少妇人妻av无码专区| 毛片一区二区在线看| 亚洲中文字幕无码爆乳| 亚洲国产欧美不卡在线观看| 国产一区二区三区四区激情| 欧洲亚洲精品免费二区| 亚洲AV无码精品色午夜果冻| 在线播放国产精品三级网| 少妇激情一区二区三区视频小说| 久久天堂综合亚洲伊人HD妓女 | 欧美日韩精品一区二区三区高清视频| 亚洲国产高清aⅴ视频| 国产综合视频一区二区三区|