news 2026/6/10 20:37:41

Day30 函数专题1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day30 函数专题1

@浙大疏锦行

题目 1:计算圆的面积

任务:编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 = π * radius²(可以使用 math.pi 作为 π 的值)

要求:函数接收一个位置参数 radius。计算半径为 5、0、-1 时候的面积

注意点:可以采取 try-except 使函数变得更加稳健,如果传入的半径为负数,函数应该返回 0(或者可以考虑引发一个 ValueError,但为了简单起见,先返回 0)。

import math def calculate_circle_area(radius): try: # 处理半径为负数的情况 if radius < 0: return 0 # 计算圆的面积 area = math.pi * (radius ** 2) return area except TypeError: # 处理传入非数字类型的情况 return 0 # 测试半径为5、0、-1的情况 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): # 判断长度或宽度是否为负数,是则返回0 if length < 0 or width < 0: return 0 # 计算并返回矩形面积 return length * width # 测试示例 print("长度3、宽度4的面积:", calculate_rectangle_area(3, 4)) # 预期12 print("长度-2、宽度5的面积:", calculate_rectangle_area(-2, 5)) # 预期0 print("长度0、宽度3的面积:", calculate_rectangle_area(0, 3)) # 预期0
题目 3:计算任意数量数字的平均值

任务:编写一个名为 calculate_average 的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数 *args),并返回它们的平均值。

要求:

使用 *args 来接收所有传入的数字。

如果没有任何数字传入,函数应该返回 0。

函数返回计算得到的平均值。

def calculate_average(*args): # 判断是否有传入数字 if not args: return 0 # 计算总和与平均值 total = sum(args) average = total / len(args) return average # 测试示例 print("传入1、2、3的平均值:", calculate_average(1, 2, 3)) # 预期2.0 print("无参数传入的结果:", calculate_average()) # 预期0 print("传入5、5、5的平均值:", calculate_average(5, 5, 5)) # 预期5.0
题目 4:打印用户信息

任务:编写一个名为 print_user_info 的函数,该函数接收一个必需的参数 user_id,以及任意数量的额外用户信息(作为关键字参数)。

要求:

user_id 是一个必需的位置参数。

使用 **kwargs 来接收额外的用户信息。

函数打印出用户 ID,然后逐行打印所有提供的额外信息(键和值)。

函数不需要返回值。

def print_user_info(user_id, **kwargs): # 打印用户ID print(f"用户ID: {user_id}") # 逐行打印额外信息 for key, value in kwargs.items(): print(f"{key}: {value}") # 测试示例 print_user_info(123, name="张三", age=25, gender="男") print("---") print_user_info(456, username="lisi", email="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): # 处理尺寸部分的字符串拼接 if kwargs: # 将kwargs的键值对格式化为“key=value”的形式,用逗号分隔 dims_str = ", ".join([f"{key}={value}" for key, value in kwargs.items()]) description = f"A {color} {shape_name} with dimensions: {dims_str}" else: description = f"A {color} {shape_name} with no specific dimensions." return description # 测试示例 print(describe_shape("circle", color="red", radius=5)) print(describe_shape("rectangle", length=10, width=4)) print(describe_shape("square")) print(describe_shape("triangle", color="blue", base=8, height=6))
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:45:13

MySQL 数据类型详解:TINYINT、INT 和 BIGINT

在设计数据库时&#xff0c;选择合适的数据类型对于系统性能和存储效率至关重要。MySQL 提供了多种整数类型来满足不同的存储需求&#xff0c;其中包括 TINYINT、INT 和 BIGINT。本文将详细介绍这三种整数类型的区别、应用场景和使用建议。 1. TINYINT TINYINT 是 MySQL 中存储…

作者头像 李华
网站建设 2026/6/10 10:59:26

基于python深度学习的面部表情识别系统

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了多年的设计程序开发&#xff0c;开发过上千套设计程序&#xff0c;没有什么华丽的语言&#xff0c;只有实…

作者头像 李华
网站建设 2026/6/10 10:59:14

【ITK手册006】itk::Point 深度解析与实用指南

【ITK手册006】itk::Point 深度解析与实用指南 0. 概述 在 ITK (Insight Segmentation and Registration Toolkit) 的几何框架中&#xff0c;itk::Point 是最基础的类之一。它用于表示 n 维欧几里得空间中的一个静态位置&#xff08;坐标&#xff09;。 与 itk::Vector&#xf…

作者头像 李华
网站建设 2026/6/10 10:53:46

论文写作隐藏技巧:7款AI神器5分钟生成3万字+真实参考文献揭秘

开头&#xff1a;90%的学生不知道的论文“黑科技”&#xff0c;导师私藏的学术加速密码 你是否经历过&#xff1a; 对着空白文档熬到凌晨3点&#xff0c;初稿还停留在“研究背景”&#xff1f;导师的修改意见像“天书”&#xff0c;改了3遍还是被打回&#xff1f;查重报告飘红…

作者头像 李华
网站建设 2026/6/10 2:01:40

MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互

在现代应用中&#xff0c;数据库是不可或缺的一部分。Java 作为一种广泛使用的编程语言&#xff0c;提供了丰富的 API 来与各种数据库进行交互。本文将详细介绍如何在 Java 中连接 MySQL 数据库&#xff0c;并实现基本的数据交互功能。 一、环境准备 1.1 安装 MySQL 首先&am…

作者头像 李华
网站建设 2026/6/10 10:59:11

10347_基于Springboot的新疆旅游管理系统

1、项目包含项目源码、项目文档、数据库脚本、软件工具等资料&#xff1b;带你从零开始部署运行本套系统。2、项目介绍随着社会经济水平不断地提高&#xff0c;人们的生活条件也越来越好&#xff0c;除了注重日常的吃穿用度之外&#xff0c;越来越多的人开始去到别的城市旅游&a…

作者头像 李华