DAY 26 函数专题1:函数定义与参数

@浙大疏锦行知识点回顾:

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

作业

#作业1
import math
def calculate_circle_area(radius):try:# 检查半径是否为负数if radius < 0:return 0# 计算圆的面积area = math.pi * radius ** 2return area# 处理非数值类型的输入except TypeError:print("错误:半径必须是数字类型")return 0# 测试不同半径的情况
print("半径为5时的面积:", calculate_circle_area(5))
print("半径为0时的面积:", calculate_circle_area(0))
print("半径为-1时的面积:", calculate_circle_area(-1))#作业2
def calculate_rectangle_area(length,width):try:# 检查长或宽是否为负数if length<0 or width < 0:print("长和宽不能为负数")return 0# 计算矩形的面积area = length*widthreturn area# 处理非数值类型的输入except TypeError:print("错误:长或宽必须是数字类型")return None
# 测试不同长和宽的情况
print("长为5,宽为9时的面积:", calculate_rectangle_area(5,9))
print("长为6,宽为-1时的面积:", calculate_rectangle_area(6,-1))
print("长为-3,宽为4时的面积:", calculate_rectangle_area(-3,4))
print("长为-3,宽为-4时的面积:", calculate_rectangle_area(-3,-4))#作业3
def calculate_average(*args):# 检查是否有传入数字if not args:return 0# 计算总和与平均值total = sum(args)average = total / len(args)return average# 测试函数
print(calculate_average(1, 2, 3, 4))
print(calculate_average(10, 20))
print(calculate_average(5))
print(calculate_average())#作业4
def calculate_average(user_id,**user_info):profile = {}profile['user_id'] =user_idfor key, value in user_info.items():profile[key] = valuereturn profile
user_profile = calculate_average('18848896632',name='刘江',field='生物学',age='28')
print(f"\n用户信息: {user_profile}")#作业5
def describe_shape(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", "red", radius=5))
print(describe_shape("rectangle", length=10, width=4))
print(describe_shape("triangle", "blue", base=6, height=8))
print(describe_shape("square"))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92299.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92299.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨学科视域下的深层语义分析与人类底层逻辑一致性探索

摘要本文章旨在系统性地探讨一个前沿的交叉学科研究课题&#xff1a;如何通过深层语义分析&#xff0c;探索并建模人类认知中普遍存在的底层逻辑一致性。此研究横跨自然语言处理&#xff08;NLP&#xff09;、知识图谱&#xff08;KG&#xff09;、认知科学、脑神经科学、系统科…

Flink CDC如何保障数据的一致性?

Flink CDC 通过 Checkpoint 机制、幂等性设计 和 事务一致性协议 保障数据同步的一致性。以下是具体实现方式和关键配置&#xff1a;1. Checkpoint 机制&#xff08;核心保障&#xff09;作用&#xff1a;定期保存同步状态&#xff08;包括 Binlog 位置和全量快照进度&#xff…

上传文件至华为云OBS

1 创建华为云Bucket1.1 创建Bucket1.2 获取Bucket的Endpoint1.3 获取访问凭证注&#xff1a;每个访问密钥仅能下载一次&#xff0c;为了账号安全性&#xff0c;建议您定期更换并妥善保存访问密钥。不再使用的访问密钥&#xff0c;建议停用和删除。2 创建Sprint Boot工程创建一个…

使用驱动移除内核回调,

https://br-sn.github.io/Removing-Kernel-Callbacks-Using-Signed-Drivers/ 原创 大蓝 RJ45实验室 使用签名驱动移除内核回调-安全KER - 安全资讯平台 介绍 创建该PoC的目的是了解驱动漏洞利用程序的强大功能&#xff0c;以及EDR如何使用内核回调以防止恶意软件的攻击。…

从零搭建Cloud Alibaba (下) Sentinel篇

1.Sentinel控制台的安装 下载地址&#xff1a; Releases alibaba/Sentinelx 下载后是一个jar包 进入目录 CMD命令 java -jar "sentinel-dashboard-1.8.8 .jar" 如果发生了端口冲突则使用以下命令启动 修改端口号为8090 java -Dserver.port8090 -jar "sen…

Numpy科学计算与数据分析:Numpy数学函数入门与实践

Numpy数学函数实战&#xff1a;探索数学运算的无限可能 学习目标 通过本课程的学习&#xff0c;学员将掌握Numpy中常用的数学函数&#xff0c;包括三角函数、指数函数和对数函数的使用方法&#xff0c;以及如何利用这些函数对数组进行高效的数学运算。本课程不仅会讲解理论知识…

BIGO Ads是什么?BIGO广告营销核心玩法解析

在全球化竞争白热化的当下&#xff0c;BIGO Ads凭借其覆盖150国家的庞大流量池和AI驱动的精准营销能力&#xff0c;已成为出海企业突破增长瓶颈的利器。2025年Q1数据显示&#xff0c;BIGO Ads广告业务同比增长27%&#xff0c;非直播收入占比达24.9%&#xff0c;成为欢聚集团第二…

人工智能领域、图欧科技、IMYAI智能助手2025年3月更新月报

2025年3月AI领域重要技术进展与平台更新概览 2025年3月&#xff0c;人工智能领域迎来一系列重要技术更新与平台功能迭代&#xff0c;尤其在多模态模型、图像生成编辑、视频生成、大型语言模型&#xff08;LLM&#xff09;性能提升等方面表现活跃。以下是对关键进展的梳理&#…

STM32HAL 快速入门(一):点灯前的准备 —— 从软件安装到硬件原理

前言 大家好&#xff0c;这里是 Hello_Embed。嵌入式开发的 “Hello World” 是点灯 —— 通过控制单片机引脚的高低电平&#xff0c;让 LED 亮灭。要实现这个功能&#xff0c;前期准备必不可少&#xff1a;从软件安装到硬件原理理解&#xff0c;每一步都很关键。本文就来详细说…

Python网络编程技术

一、网络编程基础概念 1.1 什么是网络编程&#xff1f; 定义&#xff1a;程序通过网络与其他程序进行通信的技术。核心目标&#xff1a;实现数据在不同主机或进程间的传输与交互。应用场景&#xff1a;Web服务、API调用、实时通信、分布式系统等。 1.2 网络通信模型 OSI七层…

基于PHP的快递管理系统的设计与实现

管理员&#xff1a;登录&#xff1a;管理员可以通过用户名和密码登录系统&#xff0c;进入管理员后台管理界面。个人中心&#xff1a;管理员可以查看和编辑个人信息&#xff0c;如姓名、联系方式等。用户管理&#xff1a;管理员可以管理系统中的用户信息&#xff0c;包括添加新…

WPF的C1FlexGrid的单元格回车换行输入

重写C1FlexGrid的按键事件PreviewKeyDown"flex_PreviewKeyUp" 定义按键方法private void flex_PreviewKeyUp(object sender, KeyEventArgs e){if (e.Key Key.Enter){// 获取当前编辑的单元格var cell CfgReviewItem.Selection;if (cell.Column > 0 && …

简单部署普罗米修斯(Promethus)与Grafana配置

环境信息&#xff1a;系统版本ubuntu2404k8s版本v1.22.2promethus节点IP192.168.31.210Grafana节点IP192.168.31.210node1节点IP192.168.31.214node2节点IP192.168.31.215部署Promethus&#xff08;https://prometheus.io/download/&#xff09; wget https://ghfast.top/https…

Redis 编译错误:缺少静态库文件,如何解决?

目录 一、问题背景 二、问题分析 三、解决方案&#xff1a;手动编译缺失依赖 四、重新编译 Redis 主程序 五、小结与补充建议 一、问题背景 在从源代码编译 Redis&#xff08;如 8.0.3 版本&#xff09;时&#xff0c;很多开发者可能会遇到如下错误信息&#xff1a; /us…

vscode+latex本地英文期刊环境配置

1、首先进行vscode的配置安装&#xff0c;这个网上很多教程直接安装就可以&#xff0c;我建议安装vscode就行&#xff08;https://code.visualstudio.com/Download&#xff09;&#xff0c;vs studio稍微有点复杂而且有点大没必要&#xff0c;单写论文和简单的代码编译&#xf…

8.6 CSS3rem布局

rem布局 rem &#xff08;font size of the root element&#xff09;是指相对于根元素的字体大小的单位。简单的说它就是一个相对单位。看到rem大家一定会想起em单位&#xff0c;em&#xff08;font size of the element&#xff09;是指相对于父元素的字体大小的单位。它们之…

第十五章、非合作关系设定下的多智能体强化学习

0 前言 根据上一章的内容&#xff0c;已知完全合作关系下的多智能体利益一致有相同的目标&#xff0c;而非合作关系下实际上智能体的奖励和回报都是不一样的&#xff0c;它们都在努力让自己的利益最大化而并不考虑整体利益。 1 非合作关系设定下的策略学习要注意的点&#xff1…

分布式微服务--GateWay(过滤器及使用Gateway注意点)

前言、Spring Cloud Gateway 与 Web 依赖冲突 <!-- 下面两个依赖不能同时使用 --><!-- Gateway 组件 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId><ve…

latex in overleaf快速通关论文排版

文章目录 0 有效连接汇总 1 简介 1.1 latex是什么 1.2 overleaf是什么? 2 快速上手 步骤1 注册 步骤2 使用 (1) 找模板 (2) 整体论文的overleaf结构 (3) 编辑内容 打开可视化编辑 实时编译 编辑 (4) 导出 3 常规操作 3.1 公式 3.2 表格 3.3 图片 3.4 引用 3.5 代码块 3.6 设置…

OO SALV的栏位功能

SALV的栏位功能主要是通过CL_SALV_COLUMN_TABLE和CL_SALV_COLUMNS_TABLE这两个类的实现的。 SALV的栏位属性的详细功能包括异常状态图标、图标、符号、复选框、按钮、热点、超链接、单元格类型、单元格颜色、某一栏位颜色、某一行颜色&#xff0c;栏位隐藏等。关于颜色等样式属…