zoukankan      html  css  js  c++  java
  • 利用类计算学生成绩和排序

    描述:

     有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩) 
    样例输入:
    2 
    1 blue 90 80 70 
    b clan 80 70 60
    样例输出:
    85 75 65 1 blue 90 80 70 

    分析:

    这一题我主要卡在: 
    1. 对python类使用不熟悉;
    2. 不知道怎么把多个student加入列表和怎么遍历student 

    代码:

    class Student:    #定义学生类
         def inputs(self,number,name,score):
             self.number=number
             self.name=name
             self.a=int(score[0])
             self.b=int(score[1])
             self.c=int(score[2])
    
    #将创建的学生类append列表中
    stulis=[]
    n=int(input())
    for i in range(n):
        st=Student()
        s=list(input().split())
        st.inputs(s[0],s[1],s[2:])
        stulis.append(st)
    
    #求每种成绩的总分
    sum1=[0]*3
    for i in stulis:
        sum1[0]+=i.a
        sum1[1]+=i.b
        sum1[2]+=i.c
    
    #找最高分学生
    m=stulis[0].a+stulis[0].b+stulis[0].c
    index=0
    for i in range(n):
        if stulis[i].a+stulis[i].b+stulis[i].c>m:
            m=stulis[i].a+stulis[i].b+stulis[i].c
            index=i
    
    #输出
    print('{:.0f} {:.0f} {:.0f}'.format(sum1[0]/n,sum1[1]/n,sum1[2]/n))
    print('{} {} {} {} {}'.format(stulis[index].number,stulis[index].name,stulis[index].a,stulis[index].b,stulis[index].c))

  • 相关阅读:
    Webpack配置开发环境总结
    vue2.0 引入font-awesome
    vue-cli 脚手架项目简介(一)
    CSS3伪类与伪元素的区别及注意事项
    页面滚动到可视区域执行操作
    56. 合并区间
    <leetcode c++>卖股票系列
    面试题 16.01. 交换数字
    542. 01 矩阵
    <leetcode c++> 445. 两数相加 II
  • 原文地址:https://www.cnblogs.com/thgpddl/p/12368458.html
Copyright © 2011-2022 走看看