当前位置: 首页 > news >正文

7月26号打卡

作业:

题目1:计算圆的面积

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

相关文章:

  • Unity GenericMenu 类详解
  • 技术 — 资本双螺旋:AI 时代的投资浪潮与技术突破
  • 模型训练部署流程
  • 电磁兼容三:电磁干扰三要素详解
  • 【大模型框架】LangChain入门:从核心组件到构建高级RAG与Agent应用
  • 系统性学习C语言-第二十三讲-文件操作
  • 渗透艺术系列之Laravel框架(一)
  • Effective C++ 条款03:尽可能使用const
  • 检验类设备中,交叉导轨如何确保加样精度?
  • mysql-数据表-DDL语句
  • Triton源代码分析 - 目录
  • freeRTOS 静态创建任务
  • TIM 输入捕获
  • pip, github 突然连不上?报错和解决方法如下
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-29,(知识点:非易失存储器)
  • 【AI周报】2025年7月26日
  • CUDA杂记--FP16与FP32用途
  • MoE替代LLM
  • linux内核电源管理
  • 面试150 加一
  • 一文速通《多元函数微分学》
  • C++11 右值引用 Lambda 表达式
  • AutoDL 数据盘清理指南:彻底删除 .Trash-0 内文件释放空间
  • 电脑负载监控接入了IOT物联网平台
  • 深入浅出 MyBatis-Plus Wrapper:让条件构造更简单高效
  • 定义域第一题
  • iview: 对输入框进行Poptip 换行提示
  • python---元组解包(Tuple Unpacking)
  • 银行营销数据预测分析:从数据到精准营销决策
  • 表征工程 中怎么 调整参数或比例