基于python的学生管理系统
学生信息添加功能
该部分内容具有以下功能:
1 添加学生信息
2 实现循环添加
3 实现关键字结束添加功能
具体要求如下:
1 输入学生的姓名,年龄,电话
2 创建一个字典,将输入的姓名,年龄,电话存入字典中
3 将字典存放到一个大的列表中
students = []
# 添加学生信息
def add_stu():
while True:
name = input('请输入学生姓名(输入q结束添加):')
if name == 'q':
break
age = input('请输入学生年龄:')
phone = input('请输入学生联系方式:')
stu = {'name':name,'age':age,'phone':phone}
students.append(stu)
学生信息查询功能
该功能分为两个:
功能一: 一键查询所有学生信息
功能二:根据名称里面的关键字查询所有学生信息
具体要求如下:
1 查询所有学生信息 遍历大列表取出包含每个学生信息的字典 根据字典的key取出相应的value
2根据关键字查询学生信息 输入一个关键字,遍历大列表,取出响应的字典判断字典中的name中是否包含输入的关键字,若包含则输出对应的学生信息
下面这段代码是实现功能一:
def query_all():
if len(students) == 0:
print('** 暂无学生信息,请稍后重试!')
return
for x in range(0,len(students)):
stu = students[x]
name = stu['name']
age = stu['age']
phone = stu['phone']
print(f'*索引:{x} *姓名:{name} *年龄:{age} *联系方式:{phone}')
下面这段代码是实现功能二:
# 按照关键字查询学生信息
def query_key():
key = input('请输入要查询的关键字:')
for x in range(0,len(students)):
stu = students[x]
name = stu['name']
if key in name:
age = stu['age']
phone = stu['phone']
print(f'*索引:{x} *姓名:{name} *年龄:{age} *联系方式:{phone}')
下面这段代码是整合两个功能实现学生信息查询:
# 查询学生信息
def query():
if len(students) == 0:
print('** 暂无学生信息,请稍后重试!')
return
print('*a* 查询所有学生信息')
print('*b* 关键字查询生信息')
select = input('** 请输入您的查询方式:')
while select != 'a' and select != 'b':
select = input('输入有误,请重新输入查询方式:')
if select == 'a':
query_all()
else:
query_key()
修改学生信息
具体要求如下:
1 输出所有学生信息
2 输入要修改的学生索引
3 根据索引取出字典
4 根据key修改字典中的value
实现该部分功能的代码为:
# 修改学生信息
def update():
if len(students) == 0:
print('** 暂无学生信息,请稍后重试!')
return
query_all()
idx = int(input('** 请输入要修改的学生索引:'))
while idx < 0 or idx >= len(students):
idx = int(input('** 输入有误,请重新输入您的选择:'))
stu = students[idx]
new_name = input('** 请输入修改后的姓名(%s):'%stu['name'])
new_age = input('** 请输入修改后的年龄(%s):'%stu['age'])
new_phone = input('** 请输入修改后的联系方式(%s):'%stu['phone'])
stu['name'] = new_name
stu['age'] = new_age
stu['phone'] = new_phone
print('** 修改成功 **')
删除学生信息
具体功能如下:
根据索引删除学生信息
输出所有的学生信息
选择要删除的学生索引,输入该索引
根据索引删除学生信息
一键删除所有学生信息
每次删除前都有确认删除安全提示功能
该部分代码如下:
# 删除学生信息
def delete():
if len(students) == 0:
print('** 暂无学生信息,请稍后重试!')
return
print('*a* 根据索引删除学生信息')
print('*b* 一键删除所有学生信息')
select = input('** 请输入删除方式:')
while select != 'a' and select != 'b':
select = input('** 输入有误,请重新输入您的选择:')
if select == 'a':
query_all()
idx = int(input('** 请输入要删除的学生索引:'))
while idx < 0 or idx >= len(students):
idx = int(input('** 输入有误,请重新输入要删除的学生索引:'))
stu = students[idx]
is_del = input('** 确认要删除(%s)吗? y/n:' %stu['name'])
if is_del == 'y':
del students[idx]
print('** 删除成功 **')
else:
is_del = input('** 确认要删除所有学生信息吗? y/n:' )
if is_del == 'y':
students.clear()
print('** 所有学生信息删除成功 **')
管理界面
管理界面如下,后期继续完善相关代码