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

打卡第27天:函数的定义与参数

知识点回顾:

1.函数的定义

2.变量作用域:局部变量和全局变量

3.函数的参数类型:位置参数、默认参数、不定参数

4.传递参数的手段:关键词参数

5.传递参数的顺序:同时出现三种参数类型时

作业: 题目1:计算圆的面积 ●任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 = π * radius² (可以使用 math.pi 作为 π 的值) ●要求:函数接收一个位置参数 radius。计算半径为5、0、-1时候的面积 ●注意点:可以采取try-except 使函数变得更加稳健,如果传入的半径为负数,函数应该返回 0 (或者可以考虑引发一个ValueError,但为了简单起见,先返回0)。

import math
def calculate_circle_area(radius):"""计算圆的面积Args:radius(float or int):圆的半径Returns:float:圆的面积""" if radius < 0:print("错误,半径不能为负值")return 0. # 终止函数并返回一个浮点数0.0作为面积try:area = math.pi * radius ** 2except ValueError:print("错误,输入的半径不是一个有效的数据类型")return 0.else:print(f"圆的面积是:{area}")return area
radius = (5, 0, -1)
for r in radius:calculate_circle_area(r)

题目2:计算矩形的面积 ●任务: 编写一个名为 calculate_rectangle_area 的函数,该函数接收矩形的长度 length 和宽度 width 作为参数,并返回矩形的面积。 ●公式: 矩形面积 = length * width ●要求:函数接收两个位置参数 length 和 width。 ○函数返回计算得到的面积。 ○如果长度或宽度为负数,函数应该返回 0。

import math
def calculate_rectangle_area(length, width):"""计算矩形的面积Args:length(float or int):矩形的长度width(float or int):矩形的宽度Returns:(float or int):矩形的面积"""if length <= 0 or width <= 0:print("输入的长度或宽度不能小于或等于0") return 0area = length * widthprint(f"矩形的面积为:{area}")return area

题目3:计算任意数量数字的平均值 ●任务: 编写一个名为 calculate_average 的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数 (*args)),并返回它们的平均值。 ●要求:使用 *args 来接收所有传入的数字。 ○如果没有任何数字传入,函数应该返回 0。 ○函数返回计算得到的平均值。

import math
def calculate_average(*args):"""计算任意数量参数的平均值。"""try:total = sum(args)average = total / len(args)except ValueError:print("至少输入一个数字")return 0else:print(f"平均值为: {average}")return average
args = [1, 2, 3, 4, 5]
calculate_average(*args) 

题目4:打印用户信息 ●任务: 编写一个名为 print_user_info 的函数,该函数接收一个必需的参数 user_id,以及任意数量的额外用户信息(作为关键字参数)。 ●要求: ○user_id 是一个必需的位置参数。 ○使用 **kwargs 来接收额外的用户信息。 ○函数打印出用户ID,然后逐行打印所有提供的额外信息(键和值)。 ○函数不需要返回值

import math
def print_user_info(user_id, **kwarga):print(f"用户ID: {user_id}")for key, value in kwarga.items():print(f"{key}: {value}")
print_user_info(1, name="Alice", age=30, city="New York")

题目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 decribe_shape(shape_name, color = "black", **kwargs):"""描述一个几何图形的形状和颜色color: 颜色,默认为黑色**kwargs: 其他属性,如线条宽度、填充等"""print(f"形状: {shape_name}")print(f"颜色: {color}")for key, value in kwargs.items():print(f"{key}: {value}")if kwargs:kwargs_str =",".join([f"{key}={value}" for key, value in kwargs.items()])return f"{shape_name}, {color}, {kwargs_str}"else:return(f"{shape_name}, {color}, with no specific dimensions")print(decribe_shape("圆", color="red", radius=5))

@浙大疏锦行

http://www.lryc.cn/news/2385372.html

相关文章:

  • python训练营day34
  • 人工智能在医疗影像诊断上的最新成果:更精准地识别疾病
  • 塔能节能平板灯:点亮苏州某零售工厂节能之路
  • 3DMAX插件UV工具UV Tools命令参数详解
  • Docker 与微服务架构:从单体应用到容器化微服务的迁移实践
  • 《岁月深处的童真》
  • 文件夹图像批处理教程
  • RL电路的响应
  • 30-消息队列
  • 跨域解决方案之JSONP
  • 【AI测试革命】第七期:AI性能测试的深度实践——从智能建模到自动化调优的全链路升级
  • Thinkphp6使用token+Validate验证防止表单重复提交
  • AppAgentx 开源AI手机操控使用分享
  • Axure设计之带分页的穿梭框原型
  • 嵌入式硬件篇---陀螺仪|PID
  • 电机控制储备知识学习(五) 三项直流无刷电机(BLDC)学习(四)
  • Java—— 网络爬虫
  • Baklib内容中台的主要构成是什么?
  • 深度解析 Java 中介者模式:重构复杂交互场景的优雅方案
  • 家用和类似用途电器的安全 第1部分:通用要求 与2005版差异(7)
  • HTTP Digest 认证:原理剖析与服务端实现详解
  • untiy实现汽车漫游
  • PID项目---硬件设计
  • Pluto实验报告——基于FM的音频信号传输并解调恢复
  • 【Redis】AOF日志
  • Leetcode 2792. 计算足够大的节点数
  • 《关于浔川社团退出DevPress社区及内容撤回的声明》
  • Windows逆向工程提升之IMAGE_RESOURCE_DIRECTORY
  • 使用ps为图片添加水印
  • x64_ubuntu22.04.5安装:cuda driver + cuda toolkit