Python训练营打卡笔记 Day 26 总结与分享
知识点回顾:
- 函数的定义
- 变量作用域:局部变量和全局变量
- 函数的参数类型:位置参数、默认参数、不定参数
- 传递参数的手段:关键词参数
- 传递参数的顺序:同时出现三种参数类型时
——————————————————————————————————————————
作业:
题目1:计算圆的面积
import math
def calculate_circle_area(radius):
try:
if radius < 0:
print('输入半径必须大于0!')
return ValueError
area = math.pi * (radius ** 2)
return area
except TypeError:
print('输入半径必须是数字!')
return TypeError
except:
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:计算矩形的面积
def calculate_rectangle_area(length,width):
try:
if length < 0 or width < 0:
print('矩形的长宽必须大于0!')
return 0
area = length * width
return area
except TypeError:
print('长和宽必须是数字!')
return TypeError
except:
return 0
len0 = -5
len1 = 1
len2 = 5
wid0 = -1
wid1 = 1
wid2 = 5
print(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:计算任意数量数字的平均值
def calculate_average(*args):
try:
if not args:
return 0
else:
avg = sum(args) / len(args)
return avg
except TypeError:
print('输入必须是数字!')
return None
except:
return None

题目4:打印用户信息
def print_user_info(user_id,**kwargs):
# 检查user_id是否为可打印的值
if not isinstance(user_id,(str, int, float)):
print("无效的user_id,必须为字符串或数字!")
return
print(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:格式化几何图形描述
def describe_shape(shape_name, color="black", **kwargs):
# 打印基本图形信息
description = f"A {color} {shape_name}"
# 如果有额外的尺寸信息,打印尺寸信息
if kwargs:
dimensions = ",".join([f"{key}={value}"
for key, value in kwargs.items()])
description += f" with dimensions: {dimensions}"
else:
description += "with no specific dimensions."
return description
desc1 = describe_shape("circle", color="red", radius=5)
print(desc1)
desc2 = describe_shape("rectangle", color="blue", length=10, width=4)
print(desc2)

@浙大疏锦行
作者:晚风的墙