7月26號打卡

作業:

題目1:計算圓的面積

  • 任務: 編寫一個名為 calculate_circle_area 的函數,該函數接收圓的半徑 radius 作為參數,并返回圓的面積。圓的面積 = π * radius2 (可以使用 math.pi 作為 π 的值)
  • 要求:函數接收一個位置參數 radius。計算半徑為5、0、-1時候的面積
  • 注意點:可以采取try-except 使函數變得更加穩健,如果傳入的半徑為負數,函數應該返回 0 (或者可以考慮引發一個ValueError,但為了簡單起見,先返回0)。
import mathdef calculate_circle_area(radius):"""計算圓的面積參數:radius: 圓的半徑返回:圓的面積,如果半徑為負數則返回0"""try:# 嘗試將輸入轉換為數值類型radius = float(radius)# 檢查半徑是否為負數if radius < 0:return 0# 計算面積:π * radius2area = math.pi * radius **2return areaexcept (ValueError, TypeError):# 處理無法轉換為數值的情況return 0# 測試不同半徑的情況
print("半徑為5時的面積:", calculate_circle_area(5))
print("半徑為0時的面積:", calculate_circle_area(0))
print("半徑為-1時的面積:", calculate_circle_area(-1))

題目2:計算矩形的面積

  • 任務: 編寫一個名為 calculate_rectangle_area 的函數,該函數接收矩形的長度 length 和寬度 width 作為參數,并返回矩形的面積。
  • 公式: 矩形面積 = length * width
  • 要求:函數接收兩個位置參數 length 和 width。
    • 函數返回計算得到的面積。
    • 如果長度或寬度為負數,函數應該返回 0。
def calculate_rectangle_area(length, width):"""計算矩形的面積參數:length: 矩形的長度width: 矩形的寬度返回:矩形的面積,如果長度或寬度為負數則返回0"""# 檢查長度或寬度是否為負數if length < 0 or width < 0:return 0# 計算并返回矩形面積return length * width# 測試不同情況
print("長度為5,寬度為3時的面積:", calculate_rectangle_area(5, 3))
print("長度為0,寬度為4時的面積:", calculate_rectangle_area(0, 4))
print("長度為-2,寬度為6時的面積:", calculate_rectangle_area(-2, 6))
print("長度為5,寬度為-3時的面積:", calculate_rectangle_area(5, -3))

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

  • 任務: 編寫一個名為 calculate_average 的函數,該函數可以接收任意數量的數字作為參數(引入可變位置參數 (*args)),并返回它們的平均值。
  • 要求:使用 *args 來接收所有傳入的數字。
    • 如果沒有任何數字傳入,函數應該返回 0。
    • 函數返回計算得到的平均值。
def calculate_average(*args):"""計算任意數量數字的平均值參數:*args: 任意數量的數字返回:所有數字的平均值,如果沒有傳入數字則返回0"""# 檢查是否有數字傳入if len(args) == 0:return 0# 計算總和與平均值total = sum(args)average = total / len(args)return average# 測試不同情況
print("沒有傳入數字的平均值:", calculate_average())
print("單個數字5的平均值:", calculate_average(5))
print("數字1, 2, 3, 4, 5的平均值:", calculate_average(1, 2, 3, 4, 5))
print("數字10, 20, 30的平均值:", calculate_average(10, 20, 30))

題目4:打印用戶信息

  • 任務: 編寫一個名為 print_user_info 的函數,該函數接收一個必需的參數 user_id,以及任意數量的額外用戶信息(作為關鍵字參數)。
  • 要求:
    • user_id 是一個必需的位置參數。
    • 使用 **kwargs 來接收額外的用戶信息。
    • 函數打印出用戶ID,然后逐行打印所有提供的額外信息(鍵和值)。
    • 函數不需要返回值
    • def print_user_info(user_id, **kwargs):"""打印用戶信息參數:user_id: 必需的用戶ID(位置參數)**kwargs: 任意數量的額外用戶信息(關鍵字參數)返回:無返回值,直接打印信息"""# 打印用戶IDprint(f"用戶ID: {user_id}")# 打印額外的用戶信息if kwargs:  # 檢查是否有額外信息print("用戶信息:")for key, value in kwargs.items():print(f"  {key}: {value}")else:print("沒有提供額外的用戶信息")# 測試不同情況
      print("--- 測試1:僅用戶ID ---")
      print_user_info(1001)print("\n--- 測試2:用戶ID + 部分信息 ---")
      print_user_info(1002, 姓名="張三", 年齡=30, 性別="男")print("\n--- 測試3:用戶ID + 更多信息 ---")
      print_user_info(1003, 用戶名="lisi", 郵箱="lisi@example.com", 城市="北京", 愛好=["閱讀", "運動"])
      

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

      • 任務: 編寫一個名為 describe_shape 的函數,該函數接收圖形的名稱 shape_name (必需),一個可選的 color (默認 “black”),以及任意數量的描述該圖形尺寸的關鍵字參數 (例如 radius=5 對于圓,length=10, width=4 對于矩形)。
      • 要求:shape_name 是必需的位置參數。
        • color 是一個可選參數,默認值為 “black”
        • 使用 **kwargs 收集描述尺寸的參數。
        • 函數返回一個描述字符串,格式如下:
        • “A [color] [shape_name] with dimensions: [dim1_name]=[dim1_value], [dim2_name]=[dim2_value], …”如果 **kwargs 為空,則尺寸部分為 “with no specific dimensions.”
      def describe_shape(shape_name, color="black", **kwargs):"""生成幾何圖形的描述字符串參數:shape_name: 圖形名稱(必需的位置參數)color: 圖形顏色(可選參數,默認值為"black")**kwargs: 描述圖形尺寸的關鍵字參數返回:格式化的圖形描述字符串"""# 處理尺寸部分if kwargs:# 將關鍵字參數轉換為"key=value"格式的字符串列表dim_parts = [f"{key}={value}" for key, value in kwargs.items()]# 用逗號連接所有尺寸描述dim_str = ", ".join(dim_parts)dimensions = f"with dimensions: {dim_str}"else:dimensions = "with no specific dimensions."# 組合完整描述字符串return f"A {color} {shape_name} {dimensions}"# 測試不同情況
      print(describe_shape("circle", radius=5))  # 使用默認顏色和一個尺寸參數
      print(describe_shape("rectangle", "red", length=10, width=4))  # 指定顏色和多個尺寸參數
      print(describe_shape("triangle", "blue"))  # 只有圖形名稱和顏色,無尺寸參數
      print(describe_shape("square", color="green", side_length=7))  # 顯式指定color參數名
      

@浙大疏錦行

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

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

相關文章

C++/CLI與標準C++的語法差異(一)

&#x1f30c; C/CLI與標準C的語法差異&#xff08;一&#xff09;&#x1f52c; 第一章&#xff1a;類型系統革命 - 徹底解構三語言范式 &#x1f9ea; 1.1 類型聲明語義差異矩陣 #mermaid-svg-L5kQ3iy05pKo4vIj {font-family:"trebuchet ms",verdana,arial,sans-se…

輸電線路微氣象在線監測裝置:保障電網安全的科技屏障

在電力傳輸網絡中&#xff0c;輸電線路微氣象在線監測裝置通過集成專業傳感器與智能分析技術&#xff0c;實現對線路周邊環境參數的實時采集與動態分析&#xff0c;為電網運行安全提供數據支撐。該設備針對輸電線路特殊工況設計&#xff0c;具備高適應性、高可靠性特點。工作原…

基于springboot的圖書借閱系統

用戶&#xff1a;借閱信息管理&#xff0c;續借信息管理&#xff0c;還書信息管理&#xff0c;圖書信息&#xff0c;系統公告&#xff0c;留言板&#xff0c;我的中心管理員&#xff1a;圖書信息管理&#xff0c;圖書類型管理&#xff0c;借閱信息管理&#xff0c;續借信息管理…

Xinference vs SGLang:詳細對比分析

概述對比特性XinferenceSGLang定位通用AI模型推理平臺高性能LLM服務框架專注領域多模態模型統一接口LLM推理性能優化設計理念易用性和兼容性性能和效率核心架構對比 Xinference 架構特點 Xinference 架構&#xff1a; ├── API層&#xff08;REST/CLI/Python&#xff09; ├─…

雙非上岸985!專業課140分經驗!信號與系統考研專業課140+上岸中南大學,通信考研小馬哥

一&#xff0e;經驗分享個人情況&#xff1a;初試總分377&#xff0c;政治59&#xff0c;英語二75、數學二103、專業課140。本科為湖南一所雙非一本&#xff0c;專業是電子信息工程&#xff0c;本科成績一般&#xff0c;無獎學金無評優無科研競賽&#xff0c;屬于三無人員&…

配置DNS正反向解析

服務端master配置:yum install bind -y配置靜態ip&#xff1a;修改配置文件&#xff1a;主&#xff1a;區域&#xff1a;正向解析&#xff1a;反向解析&#xff1a;開啟服務&#xff1a;客戶端node1配置&#xff1a;yum install nginx -y配置靜態ip&#xff1a;使用xftp將文…

MyBatis-Plus 通用 Service

引言 在開發 Java Web 應用程序時&#xff0c;我們經常需要進行大量的數據庫操作&#xff0c;如創建、讀取、更新和刪除&#xff08;CRUD&#xff09;。MyBatis-Plus 作為一個強大的 MyBatis 增強工具&#xff0c;為我們提供了通用 Service 接口&#xff0c;極大地簡化了這些操…

聚類-一種無監督分類算法

目錄 1、聚類任務 2、性能度量 &#xff08;1&#xff09;外部指標 &#xff08;2&#xff09;內部指標 3、具體聚類方法 &#xff08;1&#xff09;原型聚類 &#xff08;2&#xff09;密度聚類 &#xff08;3&#xff09;層次聚類 “無監督學習”(unsupervised learnin…

ES6 標簽模板:前端框架的靈活利器

ES6&#xff08;ECMAScript 2015&#xff09;引入的模板字符串&#xff08;Template Literals&#xff09;為 JavaScript 開發者提供了更簡潔的字符串處理方式&#xff0c;而模板字符串標簽&#xff08;Tagged Template Literals&#xff09;則進一步擴展了其功能性。通過標簽函…

解鎖編程核心能力:深入淺出數據結構和算法

——為什么它們是你代碼效率的終極武器&#xff1f; &#x1f31f; 引言&#xff1a;程序世界的基石 想象你正在建造摩天大樓&#xff1a;數據結構是鋼筋骨架&#xff0c;決定建筑的結構與承重能力&#xff1b;算法則是施工藍圖&#xff0c;指導如何高效完成建造。兩者結合&am…

Jenkins運行pytest時指令失效的原因以及解決辦法

錯誤收集 Started by user 偷走晚霞的人 Running as SYSTEM Building in workspace C:\Users\Administrator\.jenkins\workspace\TestAAA [TestAAA] $ cmd /c call C:\Users\Administrator\AppData\Local\Temp\jenkins5821160869728612887.bat C:\Users\Administrator\.jenkins…

MySQL數據庫本地遷移到云端完整教程

一、準備工作 安裝MySQL客戶端工具獲取云端數據庫連接信息&#xff1a; 主機地址端口號用戶名密碼數據庫名二、本地數據庫導出 mysqldump -h 127.0.0.1 -P 4406 -u root -p 數據庫名 > backup.sql執行后會提示輸入密碼&#xff0c;完成后會在當前目錄生成backup.sql文件 三、…

InvokeRepeating避免嵌套調用

InvokeRepeating嵌套這會導致指數級增長的重復調用堆疊。使用單一協程PeriodicActionRoutine替代所有InvokeRepeating避免方法間相互調用造成的堆疊如果需要多層級時間控制&#xff08;如主循環子循環&#xff09;&#xff1a;IEnumerator MultiLevelTimer() {float mainInterv…

【工具】好用的瀏覽器AI助手

&#x1f9e8; 一、什么是 Sider&#xff1f; Sider 是一個 Chrome 瀏覽器插件&#xff0c;你可以把它看作一個「網頁邊上的 AI 小助手」。 &#x1f5e3;? 它就像你網頁旁邊的 AI 機器人&#xff0c;可以幫你回答問題、總結文章、翻譯、寫文案、改寫內容、甚至幫你學習英文&…

C++:list(2)list的模擬實現

list的模擬實現一.list與vector1.底層結構的本質區別2.模擬實現的核心差異2.1數據存儲的方式2.2 初始化的過程2.3 插入元素的操作2.4 刪除元素的操作2.5 訪問元素的效率3.總結二.頭文件list.h1. **命名空間與模板**2. **核心數據結構**3. **構造函數**4. **模板參數設計**5. **…

【595驅動8*8點陣】2022-9-11

緣由LED點陣屏只能一次亮一列-嵌入式-CSDN問答 #include "REG52.h" sbit dsP1^0;//數據線 595的14腳 sbit shP1^1;//數據輸入時鐘線 595的11腳 sbit stP1^2;//輸出存儲器鎖存時鐘線 595的12腳 void QuDong595(unsigned char sj) {unsigned char aa8;while(aa--){ds…

AI總結視頻以及谷歌瀏覽器插件安裝步驟

本篇介紹用AI一鍵總結全網視頻內容的獨家方法&#xff0c;支持B站、抖音、小紅書等任何平臺的視頻&#xff0c;提高學習效率&#xff0c;幫助一鍵提取視頻文案、劃分章節&#xff0c;還能生成雙語翻譯&#xff0c;這個方法直接在線總結所有視頻。 一.準備工作&#xff1a; 需要…

網絡協議HTTP、TCP

概述如何讓數據具有自我描述性?為什么網絡有層級的劃分?交換機、路由器要不要閱讀一個信息的頭部&#xff1f;要不要閱讀數據部分&#xff1f; 網卡&#xff1a;網卡可以完成幀的封裝和解封裝&#xff0c;工作在數據鏈路層。 中繼器&#xff1a;中繼器以比特方式將網絡信號進…

Linux選擇題

第12題&#xff08;多選題&#xff09;原題: 能夠為邏輯卷增加容量的命令有( )。A. lvresize: 此命令可以用來調整邏輯卷的大小&#xff0c;既可以增大也可以縮小。例如&#xff0c;lvresize -L 1G /dev/vgname/lvname 會增加1GB&#xff0c;lvresize -L 10G /dev/vgname/lvnam…

使用釘釘開源api發送釘釘工作消息

在工作管理系統場景中&#xff0c;上下級和不同部門之間常常有請假&#xff0c;餐補等流程操作&#xff0c;而這些操作通常需要人員手動進行&#xff0c;這里我們引入一個釘釘的api&#xff0c;可以基于釘釘來發送工作消息通知1、導入釘釘sdk<dependency><groupId>…