学完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)
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'] = int(input('请输入修改后学生的电话:'))
print('您要修改的学生信息修改成功')
break
else:
print('您要修改的学生信息未找到')
# 查询学生的信息功能函数
def find_studet():
name = input('请输入要查询学生的姓名:')
for i in students:
if i['name'] == name:
print(i)
break
else:
print('很抱歉,没有该学生的信息')
# 遍历所有学生的信息的功能函数
def find_all_student():
for i in students:
print(i)
# 保存students数据到data.txt文件功能的函数
def save_data_to_file():
global students
f = 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('退出系统成功')
break
else:
print('输入不合法,请重新输入')