Python训练营打卡 Day26

知识点回顾:

  1. 函数的定义
  2. 变量作用域:局部变量和全局变量
  3. 函数的参数类型:位置参数、默认参数、不定参数
  4. 传递参数的手段:关键词参数
  5. 传递参数的顺序:同时出现三种参数类型时

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

    作业:

    题目1:计算圆的面积

    • 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 = π * radius² (可以使用 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

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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%。 应用…