第4天:函数与模块练习
大家好!今天我们学习了Python中的函数和模块。现在让我们通过一些有趣的练习来巩固这些知识吧!
练习目标
- 掌握函数的定义和调用方法
- 学会使用不同类型的参数
- 理解函数的返回值
- 掌握模块的导入和使用
- 能够创建自己的模块
练习题
练习1:简单的问候函数
编写一个名为greet的函数,功能如下:
- 接受一个参数
name(字符串类型) - 函数内部打印一条问候信息:"你好,[name]!欢迎学习Python!"
- 调用这个函数,传入你的名字作为参数
示例输出:
你好,张三!欢迎学习Python!练习2:计算面积的函数
编写一个名为calculate_area的函数,功能如下:
- 接受一个参数
radius(浮点数类型) - 函数内部计算圆的面积(公式:面积 = π * radius^2)
- 返回计算结果
- 调用这个函数,传入不同的半径值,并打印结果
要求:使用math模块中的pi常量
示例输出:
半径为5的圆的面积是:78.53981633974483练习3:带默认参数的函数
编写一个名为describe_person的函数,功能如下:
- 接受两个参数:
name(字符串类型)和age(整数类型,默认值为18) - 函数内部打印一条描述信息:"[name]今年[age]岁了。"
- 调用这个函数,传入一个参数和两个参数的情况都要尝试
示例输出:
张三今年18岁了。
李四今年20岁了。练习4:可变参数函数
编写一个名为calculate_average的函数,功能如下:
- 接受任意数量的数字作为参数
- 函数内部计算这些数字的平均值
- 返回计算结果
- 调用这个函数,传入不同数量的参数,并打印结果
示例输出:
1, 2, 3的平均值是:2.0
4, 5, 6, 7, 8的平均值是:6.0练习5:创建自己的模块
创建一个名为my_math.py的模块,功能如下:
在模块中定义以下函数:
add(a, b):计算两个数的和并返回结果subtract(a, b):计算两个数的差并返回结果multiply(a, b):计算两个数的积并返回结果divide(a, b):计算两个数的商并返回结果(注意处理除数为零的情况)
创建一个新的Python文件,导入并使用你刚才创建的模块
要求:为每个函数添加文档字符串
示例输出:
3 + 5 = 8
10 - 4 = 6
2 * 6 = 12
15 / 3 = 5.0挑战题(可选)
如果你觉得上面的练习太简单了,试试这些挑战题:
挑战1:递归函数 - 计算阶乘
编写一个名为factorial的递归函数,功能如下:
- 接受一个非负整数
n作为参数 - 函数内部使用递归的方式计算
n的阶乘 - 返回计算结果
- 调用这个函数,传入不同的参数,并打印结果
阶乘的定义:0的阶乘是1,n的阶乘是n乘以(n-1)的阶乘
示例输出:
5的阶乘是:120
10的阶乘是:3628800挑战2:高级模块 - 温度转换工具
创建一个名为temperature_converter.py的模块,功能如下:
在模块中定义以下函数:
celsius_to_fahrenheit(celsius):将摄氏度转换为华氏度(公式:F = C * 9/5 + 32)fahrenheit_to_celsius(fahrenheit):将华氏度转换为摄氏度(公式:C = (F - 32) * 5/9)celsius_to_kelvin(celsius):将摄氏度转换为开尔文(公式:K = C + 273.15)kelvin_to_celsius(kelvin):将开尔文转换为摄氏度(公式:C = K - 273.15)
创建一个新的Python文件,导入并使用你刚才创建的模块
要求:为每个函数添加文档字符串,并处理可能的输入错误
示例输出:
25°C = 77.0°F
100°F = 37.78°C
0°C = 273.15K
300K = 26.85°C提交要求
- 将每个练习的代码保存到一个单独的Python文件中
- 在文件开头添加注释,说明这是哪个练习以及练习的目的
- 确保代码能够正常运行,没有语法错误
- 如果你遇到了问题,可以查阅今天的教案或在评论区提问
参考答案(仅供参考,不要直接复制哦!)
练习1参考答案:
python
# 练习1:简单的问候函数
def greet(name):
"""向指定的人打招呼"""
print(f"你好,{name}!欢迎学习Python!")
# 调用函数
greet("张三")练习2参考答案:
python
# 练习2:计算面积的函数
import math
def calculate_area(radius):
"""计算圆的面积"""
area = math.pi * radius ** 2
return area
# 调用函数并打印结果
result = calculate_area(5)
print(f"半径为5的圆的面积是:{result}")记住,编程的乐趣在于不断尝试和探索。不要害怕犯错,每一次错误都是进步的机会!祝你练习愉快!




