如何基于Python 1D列表知识搭建动态元素2D列表实现用户信息录入需求?
适合青少年教学的Python实现方案
核心逻辑完全基于学生已掌握的1D列表知识:2D列表本质就是「元素为1D列表的大列表」,不需要额外引入复杂概念。
实现逻辑
- 初始化一个空的大列表,用来存储所有用户的信息
- 开启循环收集信息,每次循环先索要名字,如果用户输入
END就直接终止循环 - 名字输入合法的话,继续索要剩余的姓氏、年龄、性别3项信息
- 把收集到的4项信息拼成一个1D列表,追加到最开始的大列表中,最终大列表就是符合要求的2D列表
- 循环终止后就可以执行后续逻辑
完整可运行代码
# 存储所有用户信息的2D列表,初始为空 all_user_info = [] while True: # 第一步先收名字,输入END直接结束收集 first_name = input("请输入名字(输入END终止收集):") if first_name == "END": break # 收集剩余3项信息 last_name = input("请输入姓氏:") age = input("请输入年龄:") gender = input("请输入性别:") # 单条用户信息是1D列表,追加到总列表中 single_user = [first_name, last_name, age, gender] all_user_info.append(single_user) # 后续逻辑示例:遍历打印所有用户信息 print("\n已收集的用户信息:") for user in all_user_info: # 直接用1D列表索引读取对应字段,复用已学知识 print(f"姓名:{user[1]}{user[0]} 年龄:{user[2]} 性别:{user[3]}")
教学说明
- 可以给学生直观展示2D列表的结构:比如收集2个用户后,
all_user_info的结构为[[名字1, 姓氏1, 年龄1, 性别1], [名字2, 姓氏2, 年龄2, 性别2]],和「列表套列表」的表述完全对应 - 取值逻辑和1D列表一致,只是多了一层索引:
all_user_info[0]取第一个用户的1D信息列表,all_user_info[0][2]就是第一个用户的年龄,学习成本极低 - 全程没有用到字典、类等未掌握的知识点,完全贴合现有知识储备
内容的提问来源于stack exchange,提问作者MrGundam
相关产品推荐
相关产品推荐

