Python基础09-学生管理系统
1、学员管理系统功能概述
(1)最终效果图

(2)功能概述
- 需求:进入系统显示系统功能界面,功能如下:
- 【1】添加学员信息->add_student
- 【2】删除学员信息->del_student
- 【3】修改学员信息
- 【4】查询学员信息
- 【5】遍历所有学员信息
- 【6】保存数据到文件
- 【7】退出系统
- 系统共7个功能,用户根据自己需求选取
(3)模块化的编程思想(面向过程)
- 模块化的编程思想是最早期的编程思想,其强调把一个系统分解为若干个功能(步骤),每个功能就是一个模块(函数)。当所有功能开发完毕后,功能整合,则系统就完成了。
2、学员管理系统步骤分析
- 显示功能界面
- 用户输入功能序号 => input()
- 根据用户输入的功能序号,执行不同的功能(函数)
3、学员管理系统代码实现
(1)显示功能界面
def menu():
print('-' * 40)
print('欢迎使用学生管理系统V1.0')
print('【1】添加学员信息')
print('【2】删除学员信息')
print('【3】修改学员信息')
print('【4】查询学员信息')
print('【5】遍历所有学员信息')
print('【6】保存数据到文件')
print('【7】退出系统')
print('-' * 40)
(2)输入序号,执行不同的功能
user_num = int(input('请输入您要执行的功能编号:'))
- 循环输出功能菜单,直至用户手工退出
- 使用if判断用户要实现的功能
- 如果用户输入1-7以外的数字,需要提示用户。
while True:
menu()
user_num = int(input('请输入您要执行的功能编号:'))
if user_num == 1:
add_student()
elif user_num == 2:
del_student()
elif user_num == 3:
edit_student()
elif user_num == 4:
find_student()
elif user_num == 5:
show_students()
elif user_num == 6:
save_data_to_file()
elif user_num == 7:
print('退出系统成功,感谢您使用学生管理系统V1.0!')
break
else:
print('很抱歉,您的输入有误,请重新输入!')
(4)定义全局列表,保存学员信息
- 所有功能函数都是操作学员信息,所有存储所有学员信息应该是一个全局变量,数据类型为列表。
students = []
students = [{'name':'黄道明', 'age':23, 'mobile':'10086'}, {'name':'家浩', 'age':24, 'mobile':'10010'}]
def load_data():
f = open('students.txt', 'r', encoding='utf-8')
content = f.read()
if not content:
return
else:
global students
students = eval(content)
load_data()
(5)封装函数实现功能
def add_student():
student = {}
student['name'] = input('请输入要添加学员的姓名:')
student['age'] = int(input('请输入要添加学员的年龄:'))
student['mobile'] = input('请输入要添加学员的电话:')
students.append(student)
print('恭喜您,学员信息已录入成功!')
print(students)
def del_student():
name = input('请输入要删除同学的姓名:')
for i in students:
if i['name'] == name:
students.remove(i)
print('恭喜您,学员信息已成功删除!')
print(students)
break
else:
print('很抱歉,您要删除的同学信息暂不存在!')
def edit_student():
name = input('请输入您要修改学员的姓名:')
for i in students:
if i['name'] == name:
i['name'] = input('请输入修改后的同学姓名:')
i['age'] = int(input('请输入修改后的同学年龄:'))
i['mobile'] = input('请输入修改后的同学电话:')
print('恭喜您,学员信息已更新成功!')
print(students)
break
else:
print('很抱歉,您要修改的同学信息暂不存在!')
def find_student():
name = input('请输入您要查找的同学姓名:')
for i in students:
if i['name'] == name:
print(i)
break
else:
print('很抱歉,您要查找的同学信息暂不存在!')
def show_students():
for i in students:
print(i)
def save_data_to_file():
f = open('students.txt', 'w', encoding='utf-8')
f.write(str(students))
f.close()
print('恭喜您,信息已成功保存!')