酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

实验任务1:选修课学生信息管理2.1 问题描述选修课初期涉及学生的选修和退修,后期涉及成绩的报送和查询。此题模拟实现简单的选修管理。学生信息包括:学号、姓名、学院、平时成绩、期末成绩、总评成绩,编写程序实现对学生和成绩的管理。要求完成以下功能:1)初始学生信息的录入,学生按学院输入,各项成绩初始为0;2)补充新到学生的信息,要求增加后仍保持按学院有序;3)删除退修的学生信息;4)录入平时成绩和期末成绩,计算总评成绩(平时成绩和期末成绩各占50%);5) 生成按学院排列的成绩单文件;6)按学号查询输出学生的完整信息。2.2 输入形式101 zs dxxy201 ls jdxy205 wxe jdxy405 ww ttxy407 ze ttxy-10 2051 104 lw dxxy-1101 zs dxxy 80 90104 lw dxxy 70 80201 ls jdxy 60 70405 ww ttxy 90 90407 ze ttxy 50 90-12012.3 输出形式终端打印输出:201 ls jdxy 60 70 65输出的文本last.txt保存文本:101 zs dxx

以下是使用 Python 语言解决此问题的示例代码: ```python class Student: def __init__(self, student_id, name, college): self.student_id = student_id self.name = name self.college = college self.usual_score = 0 self.final_score = 0 self.total_score = 0 # 初始化学生信息列表 students = [] # 录入初始学生信息 def input_student_info(): while True: info = input() if info == '-1': break student_id, name, college = info.split() students.append(Student(int(student_id), name, college)) # 补充新到学生信息 def add_new_student(): student_id = int(input("请输入学号: ")) name = input("请输入姓名: ") college = input("请输入学院: ") new_student = Student(student_id, name, college) for i in range(len(students)): if students[i].college > college: students.insert(i, new_student) break else: students.append(new_student) # 删除退修学生信息 def delete_student(): student_id = int(input("请输入要删除的学生学号: ")) for student in students: if student.student_id == student_id: students.remove(student) break # 录入成绩并计算总评成绩 def input_score(): for student in students: usual_score = int(input(f"请输入{student.name}的平时成绩: ")) final_score = int(input(f"请输入{student.name}的期末成绩: ")) student.usual_score = usual_score student.final_score = final_score student.total_score = (usual_score + final_score) / 2 # 生成按学院排列的成绩单文件 def generate_report(): with open('last.txt', 'w') as f: for student in students: f.write(f"{student.student_id} {student.name} {student.college}\n") # 按学号查询学生信息 def query_by_student_id(): student_id = int(input("请输入要查询的学号: ")) for student in students: if student.student_id == student_id: print(f"{student.student_id} {student.name} {student.college} {student.usual_score} {student.final_score} {student.total_score}") break else: print("未找到该学号的学生信息") input_student_info() add_new_student() delete_student() input_score() generate_report() query_by_student_id() ``` 您可以根据实际需求对代码进行修改和完善。 [2024-09-26 08:03:43 | AI写代码神器 | 638点数解答]

相关提问