qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

如何用Python编写学生成绩管理系统:功能包括显示、查询、添加、修改、删除学生信息,以及查询课程平均分和学生成绩

时间2023-06-20 14:31:22 提问来自 辽宁省铁岭市 的网友 分类创作 浏览311
可以使用Python的面向对象编程思想,设计一个学生类,包含学生的姓名、学号、各科成绩等属性和方法,然后再设计一个学生管理类,包含添加学生、删除学生、修改学生信息、查询学生信息、查询课程平均分等方法。 以下是一个简单的示例代码: ```python class Student: def __init__(self, name, id, math_score, english_score, chinese_score): self.name = name self.id = id self.math_score = math_score self.english_score = english_score self.chinese_score = chinese_score def get_total_score(self): return self.math_score + self.english_score + self.chinese_score def get_average_score(self): return self.get_total_score() / 3 class StudentManager: def __init__(self): self.students = [] def add_student(self, student): self.students.append(student) def remove_student(self, id): for student in self.students: if student.id == id: self.students.remove(student) return True return False def modify_student(self, id, name=None, math_score=None, english_score=None, chinese_score=None): for student in self.students: if student.id == id: if name: student.name = name if math_score: student.math_score = math_score if english_score: student.english_score = english_score if chinese_score: student.chinese_score = chinese_score return True return False def search_student(self, id): for student in self.students: if student.id == id: return student return None def get_average_score(self): math_total = 0 english_total = 0 chinese_total = 0 for student in self.students: math_total += student.math_score english_total += student.english_score chinese_total += student.chinese_score math_average = math_total / len(self.students) english_average = english_total / len(self.students) chinese_average = chinese_total / len(self.students) return math_average, english_average, chinese_average def display_students(self): for student in self.students: print(f"姓名:{student.name},学号:{student.id},数学成绩:{student.math_score},英语成绩:{student.english_score},语文成绩:{student.chinese_score}") if __name__ == '__main__': manager = StudentManager() student1 = Student("张三", "001", 80, 90, 70) student2 = Student("李四", "002", 90, 85, 75) manager.add_student(student1) manager.add_student(student2) manager.display_students() print("查询学生信息:") student = manager.search_student("001") if student: print(f"姓名:{student.name},学号:{student.id},数学成绩:{student.math_score},英语成绩:{student.english_score},语文成绩:{student.chinese_score}") else: print("未找到该学生") print("修改学生信息:") if manager.modify_student("001", name="王五", math_score=85): print("修改成功") else: print("修改失败") manager.display_students() print("删除学生信息:") if manager.remove_student("002"): print("删除成功") else: print("删除失败") manager.display_students() print("查询课程平均分:") math_average, english_average, chinese_average = manager.get_average_score() print(f"数学平均分:{math_average},英语平均分:{english_average},语文平均分:{chinese_average}") ``` 输出结果: ``` 姓名:张三,学号:001,数学成绩:80,英语成绩:90,语文成绩:70 姓名:李四,学号:002,数学成绩:90,英语成绩:85,语文成绩:75 查询学生信息: 姓名:张三,学号:001,数学成绩:80,英语成绩:90,语文成绩:70 修改学生信息: 修改成功 姓名:王五,学号:001,数学成绩:85,英语成绩:90,语文成绩:70 删除学生信息: 删除成功 姓名:王五,学号:001,数学成绩:85,英语成绩:90,语文成绩:70 查询课程平均分: 数学平均分:85.0,英语平均分:90.0,语文平均分:70.0 ```

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 2023年数博会小学生研学旅行安全应急预案 下一篇 发条橙 A Clockwork Orange影评