PAP4.5-函数

在线练习 · 人工智能专业 2026级本科《Python人工智能程序设计》

说明

本练习在课堂内完成。请在本机使用 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。