本关任务:编写程序建立一个学生的单向链表每个节点包括姓名、英语成绩、数学成绩和C++成绩通过链表操作求出平均成绩最高的学生并输出其姓名。输入约定:先输入学生人数然后依次输入每个学生的姓名、英语成绩、数学成绩和C++成绩。并且平均成绩最高的学生只有一位。
class Student:
def __init__(self, name, english_score, math_score, cpp_score):
self.name = name
self.english_score = english_score
self.math_score = math_score
self.cpp_score = cpp_score
self.average_score = (english_score + math_score + cpp_score) / 3
def __str__(self):
return self.name
def create_student_list():
num_of_students = int(input("请输入学生人数:"))
student_list = []
for _ in range(num_of_students):
name = input("请输入学生姓名:")
english_score = float(input("请输入英语成绩:"))
math_score = float(input("请输入数学成绩:"))
cpp_score = float(input("请输入C++成绩:"))
student = Student(name, english_score, math_score, cpp_score)
student_list.append(student)
return student_list
def find_highest_average_score_student(student_list):
highest_average_score = 0
highest_average_score_student = None
for student in student_list:
if student.average_score > highest_average_score:
highest_average_score = student.average_score
highest_average_score_student = student
return highest_average_score_student
def main():
student_list = create_student_list()
highest_average_score_student = find_highest_average_score_student(student_list)
print("平均成绩最高的学生是:", highest_average_score_student)
if __name__ == "__main__":
main()
``
原文地址: https://www.cveoy.top/t/topic/hAqW 著作权归作者所有。请勿转载和采集!