Python訓練營打卡 Day26

知識點回顧:

  1. 函數的定義
  2. 變量作用域:局部變量和全局變量
  3. 函數的參數類型:位置參數、默認參數、不定參數
  4. 傳遞參數的手段:關鍵詞參數
  5. 傳遞參數的順序:同時出現三種參數類型時

    ——————————————————————————————————————————

    作業:

    題目1:計算圓的面積

    • 任務: 編寫一個名為 calculate_circle_area 的函數,該函數接收圓的半徑 radius 作為參數,并返回圓的面積。圓的面積 = π * radius2 (可以使用 math.pi 作為 π 的值)
    • 要求:函數接收一個位置參數 radius。計算半徑為5、0、-1時候的面積
    • 注意點:可以采取try-except 使函數變得更加穩健,如果傳入的半徑為負數,函數應該返回 0 (或者可以考慮引發一個ValueError,但為了簡單起見,先返回0)。
    import mathdef calculate_circle_area(radius):try:if radius < 0:print('輸入半徑必須大于0!')return ValueErrorarea = math.pi * (radius ** 2)return areaexcept TypeError:print('輸入半徑必須是數字!')return TypeErrorexcept:return 0
    r1 = 5
    r2 = 0
    r3 = -3  
    r4 = 'radius'print(f'計算半徑為{r1}的圓面積:{calculate_circle_area(r1)}\n')
    print(f'計算半徑為{r2}的圓面積:{calculate_circle_area(r2)}\n')
    print(f'計算半徑為{r3}的圓面積:{calculate_circle_area(r3)}\n')
    print(f'計算半徑為{r4}的圓面積:{calculate_circle_area(r4)}\n')
    

    ?

    題目2:計算矩形的面積

    • 任務: 編寫一個名為 calculate_rectangle_area 的函數,該函數接收矩形的長度 length 和寬度 width 作為參數,并返回矩形的面積。
    • 公式: 矩形面積 = length * width
    • 要求:函數接收兩個位置參數 length 和 width。
      • 函數返回計算得到的面積。
      • 如果長度或寬度為負數,函數應該返回 0。
    def calculate_rectangle_area(length,width):try:if length < 0 or width < 0:print('矩形的長寬必須大于0!')return 0area = length * widthreturn areaexcept TypeError:print('長和寬必須是數字!')return TypeErrorexcept:return 0len0 = -5 
    len1 = 1
    len2 = 5wid0 = -1
    wid1 = 1
    wid2 = 5print(f'計算長度為{len0},寬度為{wid0}的矩形面積:{calculate_rectangle_area(len0,wid0)}\n')
    print(f'計算長度為{len0},寬度為{wid1}的矩形面積:{calculate_rectangle_area(len0,wid1)}\n')
    print(f'計算長度為{len0},寬度為{wid2}的矩形面積:{calculate_rectangle_area(len0,wid2)}\n')print(f'計算長度為{len1},寬度為{wid0}的矩形面積:{calculate_rectangle_area(len1,wid0)}\n')
    print(f'計算長度為{len1},寬度為{wid1}的矩形面積:{calculate_rectangle_area(len1,wid1)}\n')
    print(f'計算長度為{len1},寬度為{wid2}的矩形面積:{calculate_rectangle_area(len1,wid2)}\n')print(f'計算長度為{len2},寬度為{wid0}的矩形面積:{calculate_rectangle_area(len2,wid0)}\n')
    print(f'計算長度為{len2},寬度為{wid1}的矩形面積:{calculate_rectangle_area(len2,wid1)}\n')
    print(f'計算長度為{len2},寬度為{wid2}的矩形面積:{calculate_rectangle_area(len2,wid2)}\n')
    

    ?

    題目3:計算任意數量數字的平均值

    • 任務: 編寫一個名為 calculate_average 的函數,該函數可以接收任意數量的數字作為參數(引入可變位置參數 (*args)),并返回它們的平均值。
    • 要求:使用 *args 來接收所有傳入的數字。
      • 如果沒有任何數字傳入,函數應該返回 0。
      • 函數返回計算得到的平均值。
    def calculate_average(*args):try:if not args:return 0else:avg = sum(args) / len(args)return avgexcept TypeError:print('輸入必須是數字!')return Noneexcept:return None

    ?

    題目4:打印用戶信息

    • 任務: 編寫一個名為 print_user_info 的函數,該函數接收一個必需的參數 user_id,以及任意數量的額外用戶信息(作為關鍵字參數)。
    • 要求:
      • user_id 是一個必需的位置參數。
      • 使用 **kwargs 來接收額外的用戶信息。
      • 函數打印出用戶ID,然后逐行打印所有提供的額外信息(鍵和值)。
      • 函數不需要返回值
    def print_user_info(user_id,**kwargs):# 檢查user_id是否為可打印的值if not isinstance(user_id,(str, int, float)):print("無效的user_id,必須為字符串或數字!")returnprint(f"用戶ID:{user_id}")if kwargs:print("額外信息:")for key, value in kwargs.items():print(f"{key}:{value}")
    print_user_info(12345, name="張三", age=30, email="zhangsan@example.com", country="中國")
    

    ?

    題目5:格式化幾何圖形描述

    • 任務: 編寫一個名為 describe_shape 的函數,該函數接收圖形的名稱 shape_name (必需),一個可選的 color (默認 “black”),以及任意數量的描述該圖形尺寸的關鍵字參數 (例如 radius=5 對于圓,length=10, width=4 對于矩形)。
    def describe_shape(shape_name, color="black", **kwargs):# 打印基本圖形信息print(f"圖形名稱: {shape_name}")print(f"顏色: {color}")# 如果有額外的尺寸信息,打印尺寸信息if kwargs:print("尺寸信息:")for key, value in kwargs.items():print(f"  {key}: {value}")
    describe_shape("circle", color="red", radius=5)
    describe_shape("rectangle", color="blue", length=10, width=4)

    ?

    @浙大疏錦行

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/web/82267.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/web/82267.shtml
    英文地址,請注明出處:http://en.pswp.cn/web/82267.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    PH熱榜 | 2025-05-29

    1. Tapflow 2.0 標語&#xff1a;將你的文檔轉化為可銷售的指導手冊、操作手冊和工作流程。 介紹&#xff1a;Tapflow 2.0將各類知識&#xff08;包括人工智能、設計、開發、營銷等&#xff09;轉化為有條理且可銷售的產品。現在你可以導入文件&#xff0c;讓人工智能快速為你…

    GitHub 趨勢日報 (2025年05月30日)

    &#x1f4ca; 由 TrendForge 系統生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日報中的項目描述已自動翻譯為中文 &#x1f4c8; 今日獲星趨勢圖 今日獲星趨勢圖 833 agenticSeek 789 prompt-eng-interactive-tutorial 466 ai-agents-for-beginn…

    Cesium 8 ,在 Cesium 上實現雷達動畫和車輛動畫效果,并控制顯示和隱藏

    目錄 ?前言 一、功能背景 1.1 核心功能概覽 1.2 技術棧與工具 二、車輛動畫 2.1 模型坐標 2.2 組合渲染 2.3 顯隱狀態 2.4 模型文件 三、雷達動畫 3.1 創建元素 3.2 動畫解析 3.3 坐標聯動 3.4 交互事件 四、完整代碼 4.1 屬性參數 4.2 邏輯代碼 加載車輛動畫…

    相機--相機標定

    教程 相機標定分類 相機標定分為內參標定和外參標定。 內參標定 目的 作用 原理 外參標定

    JS手寫代碼篇---手寫類型判斷函數

    9、手寫類型判斷函數 手寫完成這個函數&#xff1a;輸入一個對象(value)&#xff0c;返回它的類型 js中的數據類型&#xff1a; 值類型&#xff1a;String、Number、Boolean、Null、Undefied、Symbol引用類型&#xff1a;Object、Array、Function、RegExp、Date 使用typeOf…

    量子物理:初步認識量子物理

    核心特點——微觀世界與宏觀世界的差異 量子物理(又稱量子力學)是物理學中描述微觀世界(原子、電子、光子等尺度)基本規律的理論框架。它與我們熟悉的經典物理(牛頓力學、電磁學等)有根本性的不同,因為微觀粒子的行為展現出許多奇特且反直覺的現象。 簡單來說,量子物…

    springboot配置cors攔截器與cors解釋

    文章目錄 cors?代碼 cors? CORS&#xff08;跨域資源共享&#xff09;的核心機制是 由后端服務器&#xff08;bbb.com&#xff09;決定是否允許前端&#xff08;aaa.com&#xff09;的跨域請求 當瀏覽器訪問 aaa.com 的頁面&#xff0c;并向 bbb.com/list 發起請求時&#…

    國芯思辰| 同步降壓轉換器CN2020應用于智能電視,替換LMR33620

    在智能電視不斷向高畫質、多功能、智能化發展的當下&#xff0c;其內部電源管理系統的性能至關重要。同步降壓轉換器可以為智能電視提供穩定、高效的運行。 國芯思辰CN2020是一款脈寬調制式同步降壓轉換器。內部集成兩個功率MOS管&#xff0c;在4.5~18V寬輸入電壓范圍內可以持…

    API 版本控制:使用 ABP vNext 實現版本化 API 系統

    &#x1f680;API 版本控制&#xff1a;使用 ABP vNext 實現版本化 API 系統 &#x1f4da; 目錄 &#x1f680;API 版本控制&#xff1a;使用 ABP vNext 實現版本化 API 系統一、背景切入 &#x1f9ed;二、核心配置規則 &#x1f4cb;2.1 前置準備&#xff1a;NuGet 包與 usi…

    Android高級開發第四篇 - JNI性能優化技巧和高級調試方法

    文章目錄 Android高級開發第四篇 - JNI性能優化技巧和高級調試方法引言為什么JNI性能優化如此重要&#xff1f;第一部分&#xff1a;JNI性能基礎知識JNI調用的性能開銷何時使用JNI才有意義&#xff1f; 第二部分&#xff1a;核心性能優化技巧1. 減少JNI調用頻率2. 高效的數組操…

    小白的進階之路系列之十----人工智能從初步到精通pytorch綜合運用的講解第三部分

    本文將介紹Autograd基礎。 PyTorch的Autograd特性是PyTorch靈活和快速構建機器學習項目的一部分。它允許在一個復雜的計算中快速而簡單地計算多個偏導數(也稱為梯度)。這個操作是基于反向傳播的神經網絡學習的核心。 autograd的強大之處在于它在運行時動態地跟蹤你的計算,…

    43. 遠程分布式測試實現

    43. 遠程分布式測試實現詳解 一、遠程測試環境配置 1.1 遠程WebDriver服務定義 # Chrome瀏覽器遠程服務地址 chrome_url rhttp://localhost:5143# Edge瀏覽器遠程服務地址 edge_url rhttp://localhost:9438關鍵概念&#xff1a;每個URL對應一個獨立的WebDriver服務典型配置…

    Python爬蟲(40)基于Selenium與ScrapyRT構建高并發動態網頁爬蟲架構:原理、實現與性能優化

    目錄 一、引言二、技術背景1. 動態頁面處理痛點2. 架構設計目標 三、核心組件詳解1. Selenium Grid集群部署2. ScrapyRT服務化改造3. 智能等待策略 四、系統架構圖五、性能優化實踐1. 資源隔離策略2. 并發控制算法3. 監控體系 六、總結與展望&#x1f308;Python爬蟲相關文章&a…

    【存儲基礎】SAN存儲基礎知識

    文章目錄 1. 什么是SAN存儲&#xff1f;2. SAN存儲組網架構3. SAN存儲的主要協議SCSI光纖通道&#xff08;FC&#xff09;協議iSCSIFCoENVMe-oFIB 4. SAN存儲的關鍵技術Thin Provision&#xff1a;LUN空間按需分配Tier&#xff1a;分級存儲Cache&#xff1a;緩存機制QoS&#x…

    TDengine 運維——巡檢工具(定期檢查)

    背景 TDengine 在運行一段時間后需要針對運行環境和 TDengine 本身的運行狀態進行定期巡檢&#xff0c;本文檔旨在說明如何使用巡檢工具對 TDengine 的運行環境進行自動化檢查。 安裝工具使用方法 工具支持通過 help 參數查看支持的語法 Usage: taosinspect [OPTIONS]Check…

    DHCP應用

    一、DHCP介紹 在LAN(局域網)中我們常會遇到以下的情況&#xff1a; 1.不知道如何配置IP地址及相關信息的員工&#xff0c;無法上網&#xff1b;2.IP地址配置沖突&#xff0c;無法上網&#xff1b;3.來訪用戶因不熟悉公司網絡情況無法上網&#xff1b; 以上這些情況都是日常最…

    LabVIEW多按鍵自動化檢測系統

    LabVIEW開發一套高精度按鍵力與行程自動化檢測系統&#xff0c;針對傳統檢測設備自動化程度低、定位誤差大等痛點&#xff0c;實現多按鍵產品的全流程自動化測試。系統集成 6 軸工業機器人、高精度傳感器及實時數據處理模塊&#xff0c;滿足汽車電子、消費電子等領域對按鍵手感…

    嵌入式硬件篇---蜂鳴器

    蜂鳴器是一種常用的電子發聲元件&#xff0c;主要分為有源蜂鳴器和無源蜂鳴器兩類。它們在結構、工作原理、驅動方式、應用場景等方面存在顯著差異。以下是詳細介紹&#xff1a; 一、核心定義與結構差異 1. 有源蜂鳴器 定義&#xff1a; “有源” 指內部自帶振蕩電路&#x…

    600+純CSS加載動畫一鍵獲取指南

    CSS-Loaders.com 完整使用指南&#xff1a;600純CSS加載動畫庫 &#x1f3af; 什么是 CSS-Loaders.com&#xff1f; CSS-Loaders.com 是一個專門提供純CSS加載動畫的資源網站&#xff0c;擁有超過600個精美的單元素加載器。這個網站的最大特色是所有動畫都只需要一個HTML元素…

    國內高頻混壓PCB廠家有哪些?

    一、技術領先型廠商&#xff08;聚焦材料與工藝突破&#xff09; 獵板PCB 技術亮點&#xff1a;真空層壓工藝實現FR-4與羅杰斯高頻材料&#xff08;RO4350B/RO3003&#xff09;混壓&#xff0c;阻抗公差3%&#xff0c;支持64單元/板的5G天線模塊&#xff0c;插損降低15%。 應用…