基于Python实现的简易学生管理系统的代码是什么
Admin 2022-06-30 群英技术资讯 850 次浏览
很多朋友都对“基于Python实现的简易学生管理系统的代码是什么”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!本文实例为大家分享了python实现学生管理系统的具体代码,供大家参考,具体内容如下
import os
stu_list = []
def show_menu():
print('1.添加学生')
print('2.删除学生')
print('3.修改学生信息')
print('4.查询单个学生信息')
print('5.查询所有学生信息')
print('6.退出系统')
def insert_student():
name = input('请输入学生名字:')
for stu in stu_list:
if stu['name'] == name:
print('.........学生信息已存在........')
return
age = input('请输入学生年龄:')
gender = input('请输入学生性别:')
stu_dict = {'name': name, 'age': int(age), 'gender': gender}
stu_list.append(stu_dict)
print("学生信息添加成功!")
def remove_student():
name = input('请输入要操作的学生的名字:')
for stu in stu_list:
if stu['name'] == name:
stu_list.remove(stu)
print('删除成功!')
break
else:
print('........该学生信息不存在,无法删除.........')
def modify_student():
name = input('请输入要操作的学生的名字:')
for stu in stu_list:
if stu['name'] == name:
stu['age'] = int(input('请输入新的年龄:'))
print('修改成功!')
break
else:
print('........该学生信息不存在,无法修改.........')
def search_student():
name = input('请输入要操作的学生的名字:')
for stu in stu_list:
if stu['name'] == name:
print(f'姓名:{stu["name"]},年龄:{stu["age"]},性别:{stu["gender"]}')
break
else:
print('........该学生信息不存在.......')
def show_all_stu():
if len(stu_list):
for stu in stu_list:
print(f'姓名:{stu["name"]},年龄:{stu["age"]},性别:{stu["gender"]}')
else:
print("目前没有学生信息!")
def save():
f = open('student.txt', 'w')
f.write(str(stu_list))
f.close()
def read_file():
global stu_list
if os.path.exists('student.tct'):
f = open('student.txt', 'r', encoding='utf-8')
buf = f.read()
if buf:
stu_list = eval(buf)
f.close()
def main():
read_file()
while True:
show_menu()
opt = input('请输入用来选择的编号:')
if opt == '1':
print('1.添加学生')
insert_student()
elif opt == '2':
print('2.删除学生')
remove_student()
elif opt == '3':
print('3.修改单个学生信息')
modify_student()
elif opt == '4':
print('查询单个学生信息')
search_student()
elif opt == '5':
print('5.查询所有学生信息')
show_all_stu()
elif opt == '6':
print('欢迎下次使用本系统')
save()
break
else:
print('输入有误,请重新输入')
continue
input('........回车键继续操作........')
main()
1.工程文件

2.main.py
import student_manage_sysytem as sms
if __name__ == '__main__':
stu_sms = sms.StudenManagerSystem()
stu_sms.start()
3.student.py
class Student():
def __init__(self, stu_id, name, age, gender):
self.sut_id = stu_id
self.name = name
self.age = age
self.gender = gender
def __str__(self):
return f"{self.sut_id},{self.name},{self.age},{self.gender}"
4.student_manage_system.py
import student
class StudenManagerSystem():
def __init__(self):
self.stu_dict = {}
@staticmethod
def __show_menu():
print('1.添加学生')
print('2.删除学生')
print('3.修改学生信息')
print('4.查询单个学生信息')
print('5.查询所有学生信息')
print('6.退出系统')
def __insert_student(self):
stu_id = input('请输入学生学号:')
if stu_id in self.stu_dict:
print('学生信息已经存在,不需要重复添加')
return
name = input('请输入学生名字:')
age = input('请输入学生年龄:')
gender = input('请输入学生性别:')
stu = student.Student(stu_id, name, age, gender)
self.stu_dict[stu_id] = stu
def __removw_student(self):
stu_id = input('请输入学号:')
if stu_id in self.stu_dict:
del self.stu_dict[stu_id]
print('学生已经删除')
else:
print('学生信息不存在,无法删除')
def __modify_student(self):
stu_id = input('请输入学号:')
if stu_id in self.stu_dict:
stu = self.stu_dict[stu_id]
stu.age = input('请输入新的年龄:')
print('信息已经修改完毕')
else:
print('学生信息不存在,无法修改')
def __search_student(self):
stu_id = input('请输入学号:')
if stu_id in self.stu_dict:
stu = self.stu_dict[stu_id]
print(stu)
else:
print('学生信息不存在')
def __save(self):
f = open('student.txt', 'w', encoding='utf-8')
for stu in self.stu_dict.values():
f.write(str(stu) + '\n')
f.close()
def __load_info(self):
try:
f = open('student.txt', 'r', encoding='utf-8')
buf_list = f.readlines()
for buf in buf_list:
buf = buf.strip()
info_list = buf.split(',')
stu = student.Student(*info_list)
stu_id = info_list[0]
self.stu_dict[stu_id] = stu
f.close()
except Exception:
pass
def __show_all_info(self):
for stu in self.stu_dict.values():
print(stu)
def start(self):
self.__load_info()
while True:
self.__show_menu()
opt = input('请输入用来选择的编号:')
if opt == '1':
print('1.添加学生')
self.__insert_student()
elif opt == '2':
print('2.删除学生')
self.__removw_student()
elif opt == '3':
print('3.修改单个学生信息')
self.__modify_student()
elif opt == '4':
print('查询单个学生信息')
self.__search_student()
elif opt == '5':
print('5.查询所有学生信息')
self.__show_all_info()
elif opt == '6':
self.__save()
print('欢迎下次使用本系统')
break
else:
print('输入有误,请重新输入')
continue
input('........回车键继续操作........')
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了 Python字典的增删改查,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
break语句用于提前终止当前循环。放弃循环后,直接执行循环块下一个语句,就像C语言中的break语句一样。
这篇文章主要介绍了python解析参数的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
今天给大家总结一下字符串的所有操作,string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等去空格及特殊符号s stri
有时候我们的证件照需要换底色,又来不及去照相馆拍照,用ps也不好抠图,所以今天给你们分享一下如何用python来抠图,并换底色
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008