from student import *
class StudentManager:
def __init__(self):
self.student_list = []
def run(self):
# 加载学生信息
self.load_student()
while True:
# 打印菜单
self.show_menu()
try:
choice = int(input("请选择:"))
except ValueError:
print("输入无效,请输入整数类型")
else:
if choice in [0, 1, 2, 3, 4, 5, 6, 7]:
if choice == 0:
answer = input("您确定要退出系统吗(输入y结束):")
if answer == "y":
print("谢谢使用!!!")
break
else:
continue
elif choice == 1:
self.add_student()
elif choice == 2:
self.del_student()
elif choice == 3:
self.modify_student()
elif choice == 4:
self.search_student()
elif choice == 5:
self.sort_student()
elif choice == 6:
self.total_student()
time.sleep(0.2)
elif choice == 7:
self.show_student()
input("请输入任意键继续...")
else:
print("输入错误,请重新输入")
def add_student(self):
global id,name,gender,english,python
while True:
# 输入学号
while True:
id = input("请输入ID:")
if not id:
print("输入错误,请重新输入")
continue
# 不能有相同学号的学生
for i in self.student_list:
if i.id == id:
print("学号与其他学生重复,请重新输入")
break
else:
break
# 输入姓名
while True:
name = input("请输入姓名:")
if not name:
print("输入错误,请重新输入")
continue
else:
break
# 输入性别
while True:
gender = input("请输入性别:")
if not gender:
print("输入无效,请重新输入")
continue
else:
break
# 输入英语成绩
while True:
try:
english = int(input("请输入英语成绩:"))
if english > 100:
print("请输入100以下的英语成绩")
continue
else:
break
except ValueError:
print("输入错误,请输入整数类型")
continue
# 输入python成绩
while True:
try:
python = int(input("请输入python成绩:"))
if python > 100:
print("请输入100以下的python成绩")
continue
else:
break
except ValueError:
print("输入错误,请输入整数类型")
continue
# 创建学生对象
student = Student(id, name, gender, english, python)
# 将学生保存到列表中
self.student_list.append(student)
# 保存到文件
self.save_student()
print("保存成功")
answer = input("是否继续输入(输入y继续):")
if answer == 'y':
continue
else:
break
def del_student(self):
# 用于存储多个学生的列表
student_list = []
# 与用户输入的姓名相同的学生个数
count = 0
# 用户选择删除的第choise个学生
choise = 0
# 没有任何学生的处理方法
if len(self.student_list) == 0:
print("无任何学生信息")
else:
# 用户输入需要删除学生的姓名
while True:
del_name = input("请输入要删除的学生姓名:")
if del_name:
# 寻找是否有该学生
for i in self.student_list:
if i.name == del_name:
student_list.append(i)
count += 1
# 找不到该学生
if count == 0:
print("查无此人!")
break
# 与用户输入的姓名相同的学生大于等于一位时
elif count > 1:
print("学号\t\t姓名\t\t性别\t\t英语成绩\t\tpython成绩\t\t总成绩")
for i in student_list:
print(f"{i.id}\t\t{i.name}\t\t{i.gender}\t\t{i.english}\t\t{i.python}\t\t{i.total}")
while True:
try:
choise = int(input("请选择需要删除的学生为第几位学生:"))
except ValueError:
print("输入错误,请输入整数类型")
continue
else:
if count >= choise > 0:
break
else:
print("输入错误,请重新输入")
continue
elif count == 1:
pass
# 删除该学生
self.student_list.remove(student_list[choise - 1])
# 保存到文件
self.save_student()
print("删除成功")
break
else:
print("输入错误,请重新输入")
continue
def modify_student(self):
global name,id,gender,english,python
# 用于存储多个学生的列表
student_list = []
# 与用户输入的姓名相同的学生个数
count = 0
# 用户选择删除的第choise个学生
choise = 0
# 没有任何学生的处理方法
if len(self.student_list) == 0:
print("无任何学生信息")
else:
# 用户输入需要修改学生的姓名
while True:
modify_name = input("请输入要修改的学生的姓名:")
if modify_name:
# 寻找是否有该学生
for i in self.student_list:
if i.name == modify_name:
student_list.append(i)
count += 1
# 找不到该学生
if count == 0:
print("查无此人!")
break
# 与用户输入的姓名相同的学生大于等于一位时
elif count > 1:
print("学号\t\t姓名\t\t性别\t\t英语成绩\t\tpython成绩\t\t总成绩")
for i in student_list:
print(f"{i.id}\t\t{i.name}\t\t{i.gender}\t\t{i.english}\t\t{i.python}\t\t{i.total}")
while True:
try:
choise = int(input("请选择需要修改�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于面向对象的python学生管理系统源码.zip (8个子文件)
student-manage-system-python-master
student.py 380B
student.data 279B
main.py 121B
__pycache__
student.cpython-311.pyc 1KB
managerSystem.cpython-311.pyc 16KB
managerSystem.cpython-310.pyc 8KB
student.cpython-310.pyc 710B
managerSystem.py 17KB
共 8 条
- 1
资源评论
熬夜写代码的平头哥∰
- 粉丝: 5210
- 资源: 7539
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于OpenCV的人事考勤系统
- 免费的IDC网站Swap IDC 的源码,不用再去花几百秒答题了
- ROS(Robot Operating System,机器人操作系统)并不是传统意义上的操作系统,而是一个为机器人软件开发提供的
- SSH电子相册系统毕业课程源码设计+论文+答辩ppt资料
- jsp客户管理系统毕业课程源码设计
- Oracle11g install on CentOS 6.x
- .NET4.8运行环境离线安装包
- 大神asp.net随书光盘资源信息管理系统毕业课程源码设计
- IMG_1034.jpg
- 配置虚拟机可以让您在一个物理主机上运行多个独立的操作系统实例,每个实例都有自己的硬件资源(如CPU、内存、硬盘等) 这非常适合测
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功