📖 知识点回顾
- 字典:保存单个人的一组信息(键值对,name、age、skill)
- 列表:存放多个学员的字典,做批量存储
- input () 获取输入,类型转换处理数字
- while 循环:持续接收录入,直到用户选择停止
- 字符串 strip () 清理多余空格
⚔️ Kata 实战任务
任务:简易学员信息登记小程序 功能需求:
- 创建空列表
student_list,用来存放所有学员字典 - 使用 while 循环,反复录入学员信息
- 每次循环:
- 输入学员姓名
- 输入学员修炼等级(转为 int)
- 输入主修技能
- 把这三条信息打包成字典,追加到 student_list
- 录入完一位学员后,询问用户:是否继续录入?输入
y继续,其他字符结束录入 - 退出循环后,遍历列表,打印全部学员档案
示例交互:
=====学员登记系统=====
请输入学员姓名:阿凯
请输入修炼等级:4
请输入主修技能:字典
是否继续录入?(y继续,其他退出) y
请输入学员姓名:小红
请输入修炼等级:3
请输入主修技能:循环
是否继续录入?(y继续,其他退出) n
=======全部学员档案=======
学员1: {'name': '阿凯', 'level': 4, 'skill': '字典'}
学员2: {'name': '小红', 'level': 3, 'skill': '循环'}✅ 参考代码
# 空列表,存放所有学员字典
student_list = []
print("=====学员登记系统=====")
while True:
# 获取输入
name = input("请输入学员姓名:").strip()
level = int(input("请输入修炼等级:"))
skill = input("请输入主修技能:").strip()
# 构建学员字典
stu_dict = {
"name": name,
"level": level,
"skill": skill
}
# 添加到列表
student_list.append(stu_dict)
# 判断是否继续
choice = input("是否继续录入?(y继续,其他退出):").strip()
if choice != "y":
break
# 循环结束,输出全部档案
print("\n=======全部学员档案=======")
# 遍历列表展示信息
for index, stu in enumerate(student_list):
print(f"学员{index+1}: {stu}")🧠 思考题
- 如果用户在输入等级的时候,不小心输入字母,程序会直接报错,想一想如何优化?
- 怎么修改代码,增加一个功能:输入姓名,就能查询这个学员的信息?
行者孙Python