67: 学生成绩管理(python)

简介: 67: 学生成绩管理(python)

收藏

难度:简单

标签:暂无标签

题目描述

有N个学生,每个学生的数据包括学号、班级、姓名、三门课成绩。从键盘输入N 个

学生数据,要求打印出每个学生三门课的平均成绩,以及平均分最高分学生数据(包括学号、

班级、姓名、三门课成绩,平均分)。

要求:

1、 定义学生结构体。

2、 用一个函数实现N 个学生数据的输入,用另一个函数负责求每个学生三门课程的平

均成绩,再用一个函数求出平均分最高的学生并输出该学生的数据。要求平均分和平均分最

高的学生数据都在主函数中输出。

输入

第一行:N,表示N 个学生

下面N 行:每行数据包括学号、班级、姓名、三门课成绩。

输出

输出每个学生三门课的平均成绩,以及平均分最高分学生数据(包括学号、班级、姓名、

三门课成绩,平均分)。

格式见下。(四舍五入保留一位小数)

样例输入复制

4

20070008 software1 wangjun 87 84 76

20070001 science1 lanxin 90 84 83

20070007 software2 wuke 94 87 86

20070003 science4 xuede 90 86 87

样例输出复制

wangjun 82.3

lanxin 85.7

wuke 89.0

xuede 87.7

20070007 software2 wuke 94.0 87.0 86.0 89.0

class Student:
    def __init__(self, student_id, class_name, name, score1, score2, score3):
        self.student_id = student_id
        self.class_name = class_name
        self.name = name
        self.score1 = score1
        self.score2 = score2
        self.score3 = score3
def input_students(n):
    students = []
    for _ in range(n):
        student_info = input().split()
        student_id, class_name, name = student_info[:3]
        scores = list(map(float, student_info[3:]))
        student = Student(student_id, class_name, name, *scores)
        students.append(student)
    return students
def calculate_average(student):
    return (student.score1 + student.score2 + student.score3) / 3
def find_highest_average(students):
    highest_average = 0
    highest_student = None
    for student in students:
        average = calculate_average(student)
        if average > highest_average:
            highest_average = average
            highest_student = student
    return highest_student
def main():
    n = int(input("请输入学生人数:"))
    students = input_students(n)
    for student in students:
        average_score = calculate_average(student)
        print(f"{student.name} {average_score:.1f}")
    highest_student = find_highest_average(students)
    print(f"{highest_student.student_id} {highest_student.class_name} {highest_student.name} "
          f"{highest_student.score1} {highest_student.score2} {highest_student.score3} "
          f"{calculate_average(highest_student):.1f}")
if __name__ == "__main__":
    # main()
相关文章
|
2月前
|
Python
空间管理大师已上线!(2),Python高级工程师进阶学习】
空间管理大师已上线!(2),Python高级工程师进阶学习】
|
1月前
|
前端开发 JavaScript 数据安全/隐私保护
计算机Python项目|django学生成绩管理系统
计算机Python项目|django学生成绩管理系统
|
2月前
|
存储 JSON 数据管理
文件操作与管理:用Python读写数据
【4月更文挑战第8天】本文介绍了Python中进行高效文件操作与数据管理的方法。通过`os`模块管理目录,使用`open`函数读写文件,`pickle`模块保存和加载复杂数据结构。示例代码展示了如何读取和写入文本文件,处理CSV和JSON数据,以及利用`pickle`序列化和反序列化Python对象。掌握这些技能对于处理现代社会中的数据至关重要。
|
20天前
|
监控 算法 Java
Python中管理内存
Python中管理内存
|
18天前
|
存储 小程序 Java
基于Python学生成绩管理系统详细设计和实现(源码+LW+调试文档+讲解等)
基于Python学生成绩管理系统详细设计和实现(源码+LW+调试文档+讲解等)
|
20天前
|
监控 算法 Java
使用Python的垃圾回收机制来管理内存
使用Python的垃圾回收机制来管理内存
|
19天前
|
Python
Python中有效地使用global和globals()来管理全局变量
Python中有效地使用global和globals()来管理全局变量
|
26天前
|
Python
Python中使用os库管理环境变量
在Python中,可以使用os库来管理操作系统的环境变量。通过os.environ对象,我们可以获取、修改和删除环境变量的值。
23 3
|
1月前
|
存储 SQL 算法
高效日程管理:利用区间合并算法优化活动安排【python LeetCode57】
高效日程管理:利用区间合并算法优化活动安排【python LeetCode57】
|
2月前
|
缓存 jenkins 测试技术
Python中的环境管理与虚拟环境的使用
【5月更文挑战第21天】本文阐述了Python开发中环境管理的重要性,尤其是使用虚拟环境来隔离项目依赖,避免冲突。通过venv模块创建和管理虚拟环境,可以确保每个项目独立运行。文章还介绍了虚拟环境的隔离性、可移植性优势,以及高级工具如`virtualenvwrapper`和`Pipenv`的使用。此外,讨论了自动化管理虚拟环境的方法,如使用`requirements.txt`和Pipenv,以及在CI/CD流程中如何整合虚拟环境以提高效率和代码质量。总之,正确管理虚拟环境对提升项目稳定性和团队协作至关重要。
42 4

相关实验场景

更多