说明
本练习在课堂内完成。请在本机使用 VS Code、Cursor 或 Devin Desktop 编写并运行,再将源代码与终端输出填入各题下方的文本框。
练习一:定义函数并调用
编写程序,定义两个问候函数并调用。greet 不接收参数,greet_person 接收姓名。
要求
- 定义
greet()。函数体打印Hello, World!。在程序中调用:
greet()
输出为 Hello, World!。
- 定义
greet_person(name)。函数体打印Hello, {name}!。在程序中调用:
greet_person("Alice")
输出为 Hello, Alice!。
练习二:返回计算结果
编写程序,定义两个函数。一个返回两数之和,一个返回姓名和年龄,并打印返回值。
要求
- 定义
add_numbers(a, b),返回a + b。在程序中调用并打印:
result = add_numbers(5, 3)
print(f"5 + 3 = {result}")
输出为 5 + 3 = 8。
- 定义
get_name_age(),返回"Alice"和25两个值。在程序中调用并打印:
name, age = get_name_age()
print(f"姓名:{name},年龄:{age}")
输出为 姓名:Alice,年龄:25。
练习三:位置参数、关键字参数与默认参数
编写程序,定义三个函数:按长和宽计算矩形,按姓名、年龄、城市作自我介绍,按称谓问候。
要求
- 定义
calculate_area_perimeter(length, width)。length是长,width是宽。返回面积length * width和周长2 * (length + width)。在程序中调用:
area, perimeter = calculate_area_perimeter(5, 3)
print(f"矩形面积:{area},周长:{perimeter}")
输出为 矩形面积:15,周长:16。
- 定义
introduce_person(name, age, city)。函数体打印我叫{name},今年{age}岁,来自{city}。在程序中按下面三次调用。前两次全部写出参数名,第三次将姓名写在第一个位置。
introduce_person(age=25, city="北京", name="张三")
introduce_person(name="李四", city="上海", age=30)
introduce_person("王五", age=28, city="深圳")
三行输出依次为 我叫张三,今年25岁,来自北京、我叫李四,今年30岁,来自上海、我叫王五,今年28岁,来自深圳。
- 定义
greet_with_title(name, title="先生")。不传入称谓时,title为"先生"。函数体打印您好,{name}{title}!。在程序中调用:
greet_with_title("张三")
greet_with_title("李四", "女士")
两行输出依次为 您好,张三先生!、您好,李四女士!。
练习四:使用递归计算阶乘
编写程序,定义函数计算阶乘,并打印 5!。
要求
- 定义
factorial(n)。n == 0 or n == 1时返回1。否则返回n * factorial(n - 1)。 - 在程序中调用并打印:
print(f"5! = {factorial(5)}")
输出为 5! = 120。