用Python利用字典和列表创建班级通讯录,并显示如下操作菜单, 输入相应的菜单编号,实现相应的功能.(1)显示所有学生信息 (2)输入学号查询该学号信息(3)添加一条新的通讯录数据(4)输入学号修改该学号信息(5)输入学号删除该学号信息(6) 退出通讯录 Fuent
时间: 2024-10-23 14:18:33 浏览: 11
在Python中,我们可以创建一个字典来存储班级通讯录,其中键为学号,值为包含姓名和其它必要信息的字典。下面是一个简单的实现:
```python
class ClassDirectory:
def __init__(self):
self.directory = {}
# 显示所有学生信息
def display_all(self):
if not self.directory:
print("当前没有任何学生信息")
else:
for student_id, details in self.directory.items():
print(f"学号:{student_id}, 姓名:{details['name']}")
# 输入学号查询信息
def search_by_id(self):
while True:
id_search = input("请输入学号查询详细信息(输入q退出):")
if id_search.lower() == 'q':
break
if id_search in self.directory:
print(f"学号:{id_search}, 姓名:{self.directory[id_search]['name']}")
else:
print("未找到该学号的信息.")
# 添加新记录
def add_student(self):
name = input("请输入学生的姓名:")
id_number = input("请输入学生的学号:")
self.directory[id_number] = {'name': name}
print(f"{name} 的信息已添加到通讯录.")
# 修改信息
def update_info(self):
while True:
id_update = input("请输入想要修改的学号或输入q退出:")
if id_update.lower() == 'q':
break
if id_update in self.directory:
new_name = input("请输入新的姓名:")
self.directory[id_update]['name'] = new_name
print(f"{self.directory[id_update]['name']}'s信息已更新.")
else:
print("未找到该学号,无法修改.")
# 删除记录
def delete_student(self):
while True:
id_delete = input("请输入要删除的学号或输入q退出:")
if id_delete.lower() == 'q':
break
if id_delete in self.directory:
del self.directory[id_delete]
print(f"学号 {id_delete} 的学生信息已删除.")
else:
print("未找到该学号,无法删除.")
# 初始化并运行通讯录
directory = ClassDirectory()
while True:
print("\n请选择操作:")
print("(1) 显示所有学生信息")
print("(2) 查询学号信息")
print("(3) 添加学生信息")
print("(4) 修改学生信息")
print("(5) 删除学生信息")
print("(6) 退出")
choice = input()
if choice in ['1', '2', '3', '4', '5']:
getattr(directory, f"do_{choice.replace(' ','')}")()
elif choice == '6':
break
else:
print("无效的选择,请重新输入.")
```
这个程序提供了一个基本的命令行界面,用户可以按照提示选择操作来管理班级通讯录。
阅读全文