內功篇-Day42 综合 Kata:封装学员信息查询工具

0 次阅读 2026-10-19 08:44

📖 知识点回顾

  • def 定义函数,参数、关键字传参、不定长参数

  • return 返回结果

  • 字典存储结构化数据

  • if 判断、循环遍历

⚔️ Kata 实战任务

需求:

  1. 准备学员数据:列表内嵌套字典,包含 3 名学员,每个学员有 name、age、score

student_list = [
    {"name":"小明", "age":16, "score":88},
    {"name":"小红", "age":15, "score":92},
    {"name":"小刚", "age":16, "score":75}
]
  1. 定义函数 search_student(student_data, target_name)

    • 参数 1:学员数据列表

    • 参数 2:要查询的学员姓名

  2. 函数逻辑:

    • 遍历学员列表,匹配姓名

    • 找到学员:返回该学员字典

    • 找不到:返回字符串 未找到该学员

  3. 调用函数,分别查询:小红、小李

  4. 判断返回结果,打印对应信息

参考代码

# 学员数据源
student_list = [
    {"name":"小明", "age":16, "score":88},
    {"name":"小红", "age":15, "score":92},
    {"name":"小刚", "age":16, "score":75}
]

def search_student(student_data, target_name):
    for stu in student_data:
        if stu["name"] == target_name:
            return stu
    return "未找到该学员"

# 测试查询
result1 = search_student(student_list, "小红")
result2 = search_student(student_list, "小李")

print("查询小红:", result1)
print("查询小李:", result2)

运行输出:

查询小红: {'name': '小红', 'age': 15, 'score': 92}
查询小李: 未找到该学员

🧠 思考题

  1. 如果有同名学员,当前代码只会返回第一个匹配到的学员,如何修改代码,返回所有同名学员?

  2. 改造函数,增加一个可选参数,支持按分数查询学员,怎么做?