本题要求开发一个具有添加、删除、修改、查询学生信息及退出系统功能的简易版的学生管理系统,系统的功能菜单如图所示。 要求: 1.使用自定义函数,完成对程序的模块化 2.学生信息包含:姓名、性别、手机号 3.该系统具有的功能:添加、删除、修改、显示、退出系统 设计思路: 1.提示用户选择功操作 2.获取用户选择的功能 3.根据用户的选择,分别调用不同的函数(用python)
时间: 2025-06-27 08:03:25 浏览: 15
下面是一个基于Python的学生管理系统的简单实现示例,并按照题目要求完成了模块化处理。
### 程序代码
```python
# 定义全局变量存储学生信息
students = []
# 添加学生信息
def add_student():
name = input("请输入学生的姓名:")
gender = input("请输入学生的性别(男/女):")
phone = input("请输入学生的手机号码:")
student = {"name": name, "gender": gender, "phone": phone}
students.append(student)
print(f"成功添加 {name} 的信息!")
# 显示所有学生信息
def show_students():
if not students:
print("当前没有学生信息!")
return
for idx, student in enumerate(students):
print(f"{idx + 1}. 姓名:{student['name']} 性别:{student['gender']} 手机号码:{student['phone']}")
# 删除学生信息
def delete_student():
index = int(input("请输入要删除的学生编号:")) - 1
if 0 <= index < len(students):
removed_student = students.pop(index)
print(f"已成功删除 {removed_student['name']} 的信息!")
else:
print("输入有误,请检查后再试!")
# 修改学生信息
def modify_student():
index = int(input("请输入需要修改的学生编号:")) - 1
if 0 <= index < len(students):
student = students[index]
new_name = input(f"原名为 {student['name']}, 新名称为:") or student["name"]
new_gender = input(f"原性别为 {student['gender']}, 新性别为(男/女):") or student["gender"]
new_phone = input(f"原电话为 {student['phone']}, 新电话为:") or student["phone"]
student.update({"name": new_name, "gender": new_gender, "phone": new_phone})
print(f"成功更新了 {new_name} 的信息!")
else:
print("输入有误,请检查后再试!")
# 主菜单
def main_menu():
while True:
print("\n=== 学生管理系统 ===\n"
"1. 添加学生\n"
"2. 显示所有学生\n"
"3. 删除学生\n"
"4. 修改学生信息\n"
"5. 退出系统")
choice = input("请选择您的操作(1~5):")
if choice == '1':
add_student()
elif choice == '2':
show_students()
elif choice == '3':
show_students() # 先展示再删,方便确认
delete_student()
elif choice == '4':
show_students() # 先展示再改,方便确认
modify_student()
elif choice == '5':
print("感谢使用本系统,再见!")
break
else:
print("无效选项,请重新选择!")
if __name__ == "__main__":
main_menu()
```
---
### 设计说明
1. **模块化**
使用了`add_student`, `show_students`, `delete_student`, 和 `modify_student`等函数将每个功能封装成独立的模块,便于维护和扩展。
2. **数据结构**
将学生的信息保存在一个列表`students`中,其中每个元素都是字典形式,表示单个学生的所有属性。
3. **交互友好性**
提供清晰易懂的操作界面,通过主菜单引导用户逐步完成所需操作。
---
### 运行效果示意
例如,在运行此脚本后:
- 用户可以依次尝试“添加”、“查看全部”等功能验证是否正常工作;
- 如果选择了非法数字,则会提醒并返回重新输入状态直到合法为止;
最后当按下‘5’键位时候结束整个流程输出告别话语即告一段落啦~
阅读全文
相关推荐

















