Python实现学生管理系统,用python写一个简单的学生管理系统
本文主要介绍用Python实现的简单的学生信息管理系统。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
本文分享用Python实现学生信息管理系统的具体代码,供大家参考。具体内容如下
要求描述:
学生信息包括:学号、姓名、年龄、性别、出生日期、地址、电话号码、电子邮箱等。试设计一个能提供以下基本功能的学生信息管理系统:
工作在系统菜单模式下,学生信息输入功能(学生信息以文件保存)-输入学生信息浏览功能-输出查询和排序功能-算法1。按学号查询
2.按名称查询
删除和修改学生信息(可选)的基本思路和之前写的图书借阅系统是一样的,这里就不赘述了。
直接编码,代码如下:
导入操作系统
班级学生(对象):
def __init__(自身,sid,姓名,年龄=无,性别=无,
出生=无,地址=无,电话=无,邮件=无):
self.sid=sid
self.name=name
年龄=年龄
self.gender=性别
自我出生=出生
self.address=地址
self.tel=tel
self.mail=mail
def __str__(self):
返回“% s:% s:% s:% s:% s:% s:% s:% s:% s“%(self . sid,self.name,self.age,self.gender,
自我出生、自我地址、自我电话、自我邮件)
班级学生管理(对象):
学生=[]
def __init__(self):
filename=students.csv
如果os.path.exists(文件名):
打开(文件名)为f:
对于f:中的线路
info=line.split(: )
studentObj=学生(*info)
self . students . append(studentObj)
打印(“成功加载缓存的学生信息”)
else:
打印(没有缓存的学生信息!)
定义添加(自身):
Sid=input(学生id:)
Name=input (name:)
年龄=输入(年龄:)
性别=输入(性别(1-男性2-女性):)
出生=输入(出生日期(年-月-日):)
Address=input (address:)
Tel=input(联系电话:)
Mail=input(电子邮件:)
stu=学生(sid、姓名、年龄、性别、出生、地址、电话、邮件)
self . student . append(stu)
打印(学生[%s]信息输入成功 %(姓名))
定义显示(自身):
打印(“学生信息显示”)。中心(50, * )
对于自学的学生
打印(- * 50)
打印(字符串(学生))
定义搜索(自身,关键字,值):
如果键入[sid , name]:
对于自学的学生
if getattr(student, key) == value:
print(str(student))
else:
print("未找到符合条件的学生信息!")
else:
print("系统只支持根据[学号]和[姓名]查询!")
def sort(self, key):
# 根据指定的key值进行排序
sorted_students = sorted(self.students, key=lambda x: int(getattr(x, key)) if x else None)
for student in sorted_students:
print(student)
def delete(self, key, value):
if key in [sid, name]:
for student in self.students:
if getattr(student, key) == value:
self.students.remove(student)
print("删除属性值[%s]为[%s]的学生信息" % (key, value))
else:
print("未找到符合条件的学生信息!")
else:
print("当前系统只支持根据 [学号] 和 [姓名] 删除!")
def modify(self, key, oldvalue, newvalue):
if key in [sid, name]:
for student in self.students:
if getattr(student, key) == oldvalue:
setattr(student, key, newvalue)
print("修改属性值[%s]为[%s]的学生信息为[%s]成功" % (key, oldvalue, newvalue))
else:
print("未找到符合条件的学生信息!")
else:
print("当前系统只支持根据 [学号] 和 [姓名] 修改!")
def save(self):
filename = students.csv
f = open(filename, w)
for student in self.students:
f.write(str(student) + \n)
print("写入学生信息成功!")
f.close()
def main():
manager = StudentManage()
while True:
menu = """
学生信息管理系统
1. 学生信息录入
2. 学生信息浏览
3. 学生信息查询
4. 学生信息排序
5. 学生信息的删除
6. 学生信息的修改
7. 退出
请输入正确的选择: """
choice = input(menu)
if choice == 1:
manager.add()
manager.save()
elif choice == 2:
manager.show()
elif choice == 3:
key = input("查询(sid-根据学号, name-根据姓名): ")
value = input("查询值: ")
manager.search(key, value)
elif choice == 4:
key = input("排序(sid-根据学号, age-根据年龄): ")
manager.sort(key)
elif choice == 5:
key = input("删除(sid-根据学号, name-根据姓名): ")
value = input("删除的属性值: ")
manager.delete(key, value)
elif choice == 6:
key = input("修改(sid-根据学号, name-根据姓名): ")
value1 = input("旧的属性值: ")
value2 = input("新的属性值: ")
manager.modify(key, value1, value2)
elif choice == 7:
exit(0)
else:
print("请输入正确的选择!")
main()
运行之后,就会输出可供选择的功能菜单键,如下:
下面就是基本的功能实现了:
1.录入学生信息
2.浏览学生信息
3.查询指定学生信息
4.对学生信息进行排序(可以根据学号或者年龄从小到大排序)
5.删除指定学生的信息
6.修改指定学生信息(修改学号或姓名)
操作后可以看到学生信息会发生变化:
然后输入7之后就会退出该系统。
以上就是一个通过Python实现的简易的学生信息管理系统。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。