学完python基础,把学过的知识运用起来做一个简单的学生管理系统
1、需求分析
需求:进入系统显示系统功能界面,功能如下:
① 添加学员信息
② 删除学员信息
③ 修改学员信息
④ 查询学员信息(只查询某个学员)
⑤ 遍历所有学员信息
⑥ 退出系统
系统共6个功能,用户根据自己需求选取
2、功能实现步骤
① 显示功能界面
② 用户输入功能序号
③ 根据用户输入的功能序号,执行不同的功能(函数)
☆ 定义函数
☆ 调用函数
3、模块化的编程思想(面向过程)
模块化的编程思想是最早期的编程思想,其强调==把一个系统分解为若干个功能(步骤)==,每个功能就是一个模块(函数)。当所有功能开发完毕后,功能整合,则系统就完成了。
4、使用Python开发通讯录管理系统
① 显示功能界面
② 提示用户输入要操作的功能编号
③ 根据用户输入的序号执行相关功能 => if...elif...else
④ 如何让程序一直执行下去,而不是选择某个功能后,程序就退出了 => while True
⑤ 根据用户输入的序号,完成系统中的每一个功能
⑥ 扩展功能:把学生信息保存在文件中
直接上耗时两个半小时的源代码
# 定义一个大列表来保存学生信息
students = []# 功能菜单函数
def menu():print('-' * 40)print(' 学生管理系统 v1.0')print('1.添加学生信息')print('2.删除学生信息')print('3.修改学生信息')print('4.查询学生信息')print('5.遍历所有学生信息')print('6.保存信息到文件')print('7.退出系统')print('-' * 40)# 添加学生功能函数
def add_student():student = {}# 用字典保存每个学生的信息,然后将它写入students列表student['name'] = input('请输入学生姓名:')student['age'] = int(input('请输入学生年龄:'))student['mobile'] = input('请输入学生电话号码:')students.append(student)print(students)# 删除学生信息功能函数
def del_student():name = input('请输入要删除学生的姓名:')for i in students:if i['name'] == name:students.remove(i)print('删除成功')print(students)breakelse:print('该学生不存在')# 修改学生信息功能函数
def edit_student():name = input('请输入要修改学生的姓名:')for i in students:if i['name'] == name:i['name'] = input('请输入修改后学生的姓名:')i['age'] = int(input('请输入修改后学生的年龄:'))i['mobile'] = int(input('请输入修改后学生的电话:'))print('您要修改的学生信息修改成功')breakelse:print('您要修改的学生信息未找到')# 查询学生的信息功能函数
def find_studet():name = input('请输入要查询学生的姓名:')for i in students:if i['name'] == name:print(i)breakelse:print('很抱歉,没有该学生的信息')# 遍历所有学生的信息的功能函数
def find_all_student():for i in students:print(i)# 保存students数据到data.txt文件功能的函数
def save_data_to_file():global studentsf = open('data.txt', 'w', encoding='utf-8')f.write(str(students))f.close()print('信息保存成功')# 定义函数load_data(),把文件数据加载到程序
def load_data():f = open('data.txt', 'r', encoding='utf-8')content = f.read() # str类型的字符串# 判断人间是否为空if not content:return # 终止此循环,不需要在继续加载了else:# 如果代码继续向下执行代表不为空,则进行类型转换global students # 声明我们接下来使用的变量是全局变量students = eval(content)f.close()# 加载数据文件类容到列表students中
load_data()
while True:menu()num = int(input('请输入编号进行操作:'))if num == 1: #添加学生信息add_student()elif num == 2: #删除学生信息find_all_student()del_student()elif num == 3: #修改学生信息find_all_student()edit_student()elif num == 4: #查询学生信息find_studet()elif num == 5: #遍历学生信息find_all_student()elif num == 6: #保存学生信息save_data_to_file()elif num == 7: #退出系统print('欢迎下次使用')print('退出系统成功')breakelse:print('输入不合法,请重新输入')