利用字典和列表创建班级通讯录,并显示如下操作菜单, 输入相应的菜单编号,实现相应的功能.(1)显示所有学生信息 (2)输入学号查询该学号信息(3)添加一条新的通讯录数据(4)车输入学号修改该学号信息(5)输入学号删除该学号信息(6)退出通讯录
时间: 2024-10-23 16:03:35 浏览: 32
用Python列表和字典完成一个简单的通讯录管理器
创建一个简单的班级通讯录可以使用Python的字典和列表数据结构。在这个例子中,我们可以假设每个学生的信息是一个包含姓名、学号的元组,存储在字典中,而学号作为键。下面是一个基础的实现:
```python
class_class = {} # 字典用于存放学生信息
students = [] # 列表记录学生的添加顺序
def display_menu():
print("班级通讯录")
print("(1) 显示所有学生信息")
print("(2) 输入学号查询信息")
print("(3) 添加新学生")
print("(4) 修改学生信息")
print("(5) 删除学生")
print("(6) 退出")
def show_students():
if students:
for i, student in enumerate(students):
print(f"({i+1}) 学号: {student[0]}, 姓名: {student[1]}")
else:
print("暂无学生信息.")
def search_student():
while True:
try:
input_num = int(input("请输入学号查询: "))
if input_num > len(students) or input_num <= 0:
print("无效的学号,请重新输入.")
continue
return students[input_num - 1]
except ValueError:
print("输入错误,请输入数字.")
def add_student():
name = input("请输入学生姓名: ")
student_id = input("请输入学号: ")
class_class[student_id] = (name, len(students) + 1)
students.append((student_id, name))
print(f"已添加学生: {name}, 学号: {student_id}")
def update_student():
selected_student = search_student()
if not selected_student:
return
new_name = input("请输入新的姓名: ")
class_class[selected_student[0]] = (new_name,)
print(f"学生{selected_student[0]}的姓名更新为: {new_name}")
def delete_student():
selected_student = search_student()
if not selected_student:
return
del class_class[selected_student[0]]
students.remove(selected_student)
print(f"学生{selected_student[0]}已被删除.")
# 主循环
while True:
display_menu()
choice = input("请选择操作: ")
if choice == "1":
show_students()
elif choice == "2":
selected_student = search_student()
if selected_student:
print("查询到的学生信息:")
print(f"学号: {selected_student[0]}, 姓名: {selected_student[1]}")
else:
print("未找到对应的学生信息.")
elif choice == "3":
add_student()
elif choice == "4":
update_student()
elif choice == "5":
delete_student()
elif choice == "6":
break
else:
print("无效的选择,请重新输入.")
```
你可以根据需要运行上述代码并按照提示交互,完成各种操作。
阅读全文