用Python利用字典和列表创建班级通讯录,并显示如下操作菜单, 输入相应的菜单编号,实现相应的功能.(1)显示所有学生信息 (2)输入学号查询该学号信息(3)添加一条新的通讯录数据(4)输入学号修改
时间: 2024-10-23 08:04:08 浏览: 40
在Python中,你可以通过定义一个字典来存储班级通讯录,其中键代表学号,值是一个包含姓名和其他相关信息的小字典。下面是一个简单的示例:
```python
class Student:
def __init__(self, id, name):
self.id = id
self.name = name
class ClassDirectory:
def __init__(self):
self.students = {}
# 显示所有学生信息
def display_students(self):
for student_id, details in self.students.items():
print(f"学号:{student_id}, 姓名:{details['name']}")
# 输入学号查询信息
def search_student(self):
try:
id_search = input("请输入要查询的学生学号: ")
if id_search in self.students:
print(f"{id_search} 的信息:{self.students[id_search]}")
else:
print("未找到该学号的学生.")
except Exception as e:
print(f"错误:{e}")
# 添加新学生信息
def add_student(self):
id = input("请输入学生的学号: ")
name = input("请输入学生姓名: ")
self.students[id] = {'name': name}
print(f"已添加学生 {id}.")
# 修改学生信息
def update_student(self):
id = input("请输入要修改的学生学号: ")
if id in self.students:
name = input("请输入新的姓名: ")
self.students[id]['name'] = name
print(f"学生 {id} 的信息已更新为 {name}.")
else:
print("未找到该学号的学生.")
# 使用示例
directory = ClassDirectory()
while True:
print("\n请选择操作:")
print("(1) 显示所有学生")
print("(2) 查询学生信息")
print("(3) 添加学生")
print("(4) 修改学生信息")
print("(5) 退出")
choice = int(input())
if choice == 1:
directory.display_students()
elif choice == 2:
directory.search_student()
elif choice == 3:
directory.add_student()
elif choice == 4:
directory.update_student()
elif choice == 5:
break
else:
print("无效选择,请重新输入.")
阅读全文