6. 添加学生功能的实现
实现方法
- 班级相关模块:
class_room.py
import student
from student import Student
import tools
class ClassRoom:
'''班级类型'''
def __init__(self, class_name):
self.class_name = class_name # 班级名称
self.student = [] # 保存学生信息
def add_student(self):
student_name = input('请输入学生姓名: ')
if tools.get_display_width(student_name) >= 20:
print('学生的名字太长,添加失败!')
return
chinese_score = int(input('请输入学生的语文成绩: '))
if chinese_score < 0 or chinese_score > 100:
print('学生成绩不在合法范围内,添加失败!')
return
math_score = int(input('请输入学生的数学成绩: '))
if math_score < 0 or math_score > 100:
print('学生成绩不在合法范围内,添加失败!')
return
stu = Student(student_name, chinese_score, math_score)
self.student.append(stu)
print('添加学生', student_name, '成功!')
def show_class_menu(self):
'此函数用来显示操作菜单'
print(f' {self.class_name}-班级管理')
print('+-----------------------------------+')
print('| 1) 添加学生 |')
print('| 2) 修改学生的语文成绩 |')
print('| 3) 修改学生的数学成绩 |')
print('| 4) 删除学生 |')
print('| 5) 列出所有学生的成绩 |')
print('| 6) 按语文成绩从高到低显示学生成绩 |')
print('| 7) 按数学成绩从高到低显示学生成绩 |')
print('| 0) 退出班级 |')
print('+-----------------------------------+')
def student_manager(self):
'''此函数用来学生数据'''
while True:
self.show_class_menu()
sel = input('请选择:')
match sel:
case '1': # 1) 添加学生
self.add_student()
case '2': # 2) 修改学生的语文成绩
pass
case '3': # 3) 修改学生的数学成绩
pass
case '4': # 4) 删除学生
pass
case '5': # 5) 列出所有学生的成绩
pass
case '6': # 6) 按语文成绩从高到低显示学生成绩
pass
case '7': # 7) 按数学成绩从高到低显示学生成绩
pass
case '0': # 0) 退出班级
return
case _:
print('不存在的选项,请重新输入')
import time
time.sleep(2) # 让程序睡眠2秒
if __name__ == '__main__':
cr1 = ClassRoom('一年1班')
cr1.student.append(Student('张三', 100, 61))
cr1.student.append(Student('李四', 70, 81))
cr1.student.append(Student('王五', 90, 71))
cr1.student.append(Student('赵六', 80, 91))
cr1.student_manager()