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("请选择需要修改�
国产bug零零柒
- 粉丝: 4030
- 资源: 4445
最新资源
- 【目标检测数据集】鸟类数据集5200张500类VOC+YOLO格式.zip
- 三相交错LLC谐振仿真闭环,Y型联接(图1主回路图),自均流(图2三相谐振电流波形),软开关(图3是原边mos的驱动和DS和电流
- 二阶锥松弛化的无功优化代码 考虑储能系统ESS,有载调压分接头OLTC,离散电容器CB和静止无功补偿SVC设备约束 以购电和网损
- 三相LCL型并网逆变器 MATLAB 内含:SPWM模块,LCL滤波结构,有源阻尼电容电流比例反馈模块,PI控制器模型 采用dq
- 基于分布式驱动电动汽车的路面附着系数估计,分别采用无迹卡尔曼 滤波(UKF)和容积卡尔曼滤波(CKF)对电动汽车四个车轮的路面附
- Simulink仿真:储能锂电池组SOC估算及均衡控制策略研究 关键词:锂电池;不一致性;模糊控制理论;DC DC双向主动均衡
- MATLAB滚动轴承故障诊断程序:采用西楚凯斯大学数据,首先通过变分模态分解(VMD)算法处理,而后分别通过包络谱分析实现故障诊
- 改进A星算法 剔除冗余节点,光滑转折点 对比优化前后路径
- android系统android系统2
- pid-pidpid-pid
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈