Python课程设计之学生信息管理系统(列表存储)
功能介绍
基于Python实现简易学生信息管理系统,一共5个功能。列表嵌套字典添加学生信息、根据学号或电话删除学生信息、根据学号删除学生信息、显示所有信息(可根据需要修改)。学生信息包括、学号、姓名、性别、电话(可根据需要修改)。
*************************
学生信息管理系统
1.添加学生信息
2.删除学生信息(学号)
3.删除学生信息(电话)
4.修改学生信息(学号)
5.显示所有学生信息
0.退出系统
*************************
代码实现
# 定义列表来存储学生信息
stu_list = []
# 主菜单
def menu():
print('*' * 25)
print('学生信息管理系统')
print('1.添加学生信息')
print('2.删除学生信息(学号)')
print('3.删除学生信息(电话)')
print('4.修改学生信息(学号)')
print('5.显示所有学生信息')
print('0.退出系统')
print('*' * 25)
# 添加学生信息
def add_stu():
stu_num = input('输入学生学号:')
name = input('输入学生姓名:')
sex = input('输入学生性别:')
phone = input('输入学生电话:')
new_info = dict() # 定义一个字典
new_info['stu_num'] = stu_num
new_info['name'] = name
new_info['sex'] = sex
new_info['phone'] = phone
stu_list.append(new_info)
# 删除学生信息(根据电话)
def del_by_phone(student):
while True:
# 删除
del_phone = input("输入删除的学生姓名:")
find_flag = False
for line in student:
if line['phone'] == del_phone:
find_flag = True
student.remove(line)
if find_flag:
print("***此学生信息已删除***")
else:
print("***该电话不存在***")
show_stu()
# 删除学生信息(根据学号)
def del_by_num(student):
while True:
# 删除
del_num = input("输入删除的学生学号:")
find_flag = False
for line in student:
if line['stu_num'] == del_num:
find_flag = True
student.remove(line)
if find_flag:
print("***此学生信息已删除***")
else:
print("***该学号不存在***")
show_stu()
# 修改学生信息(根据学号)
def rev_by_num():
while True:
# 删除
rev_num = input("输入修改的学生学号:")
find_flag = False
for line in stu_list:
if line['stu_num'] == rev_num:
find_flag = True
stu_list.remove(line)
add_stu()
if find_flag:
print("***此学生信息已修改***")
else:
print("***该学号不存在***")
show_stu()
# 查找全部学生信息
def show_stu():
if len(stu_list) != 0:
print('学生的信息如下:')
print('=' * 30)
print('学号 姓名 性别 手机号码')
for temp_info in stu_list:
print("%s %s %s %s" % (temp_info['stu_num'], temp_info['name'], temp_info['sex'], temp_info['phone']))
else:
print('***学生信息表为空***')
# 定义主函数
def main():
while True:
menu()
key = input('请输入选项(0-5):')
if key == '1':
# 添加学生信息
add_stu()
elif key == '2':
# 删除学生信息(根据学号)
del_by_num(stu_list)
elif key == '3':
# 删除学生信息(根据电话)
del_by_phone(stu_list)
elif key == '4':
# 修改学生信息(根据学号)
rev_by_num()
elif key == '5':
# 显示所有学生信息
show_stu()
elif key == '0':
# 退出系统
quit_confirm = input('确定退出系统(Yes/No):')
if quit_confirm == 'Yes' or quit_confirm == 'yes' or quit_confirm == 'YES':
break
elif quit_confirm == 'No' or quit_confirm == 'no' or quit_confirm == 'NO':
continue
else:
print('***输入有误,请重新输入***')
else:
print('***输入有误,请重新输入***')
if __name__ == '__main__':
main()
代码非常简单,后续会写使用pandas、numpy等工具包存储学生信息到csv或xlsx表格中。