python 学生成绩统计

(1)根据《学生成绩统计 实验.xlsx》建立新列表。
在这里插入图片描述

(2)要求:输入自己的学号,并根据学号的两位数字对xlsx表中的序号取取模,取模的等于1、3、5的进入到列表中;

(3)新建列表中的数值列求平均值和方差,并分别输出每列的均值和方差;

(4)请按照“实践环节考核五”成绩和“报告撰写(10)”分别进行正排序和倒排序

(5)请找出列表中的“实践环节考核一”最大值和“项目答辩(0.2)”的最小值

(6)请找出综合成绩最高五名同学的学号和姓名,并输出

提交内容:

(1)代码源文件:score_stat.py。要求可以直接使用python score_stat.py运行得出结果。

(2)实验报告:按照实验报告的模板要求写。实验报告名称:本系统中的班级名称-学号-姓名-学生成绩统计实验报告.docx

(3)打包成一个文件:本系统中的班级名称-学号-姓名.zip

import xlrd
import numpy as np

student_id = int(input('输入学号:'))
wb = xlrd.open_workbook('学生成绩统计 实验.xlsx')
sheet = wb.sheet_by_index(0)

List_new = []
for i in range(1, sheet.nrows):
    if student_id % i == 1 or student_id % i == 3 or student_id % i == 5:
        List_new.append(sheet.row_values(i))
print('新列表为:', List_new)

print('新建列表中的数值列求平均值和方差:')
E = []
for i in List_new:
    E.append(i[4])
F = []
for i in List_new:
    F.append(i[5])
G = []
for i in List_new:
    G.append(i[6])
H = []
for i in List_new:
    H.append(i[7])
I = []
for i in List_new:
    I.append(i[8])
J = []
for i in List_new:
    J.append(i[9])
K = []
for i in List_new:
    K.append(i[10])
L = []
for i in List_new:
    L.append(i[11])
M = []
for i in List_new:
    M.append(i[12])
N = []
for i in List_new:
    N.append(i[13])
print('{}成绩的均值是:{},方差是:{}'.format('实践环节考核一', np.mean(E), np.var(E)))
print('{}成绩的均值是:{},方差是:{}'.format('实践环节考核二', np.mean(F), np.var(F)))
print('{}成绩的均值是:{},方差是:{}'.format('实践环节考核三', np.mean(G), np.var(G)))
print('{}成绩的均值是:{},方差是:{}'.format('实践环节考核四', np.mean(H), np.var(H)))
print('{}成绩的均值是:{},方差是:{}'.format('实践环节考核五', np.mean(I), np.var(I)))
print('{}成绩的均值是:{},方差是:{}'.format('项目演示', np.mean(J), np.var(J)))
print('{}成绩的均值是:{},方差是:{}'.format('项目答辩', np.mean(K), np.var(K)))
print('{}成绩的均值是:{},方差是:{}'.format('报告撰写', np.mean(L), np.var(L)))
print('{}成绩的均值是:{},方差是:{}'.format('项目管理', np.mean(M), np.var(M)))
print('{}成绩的均值是:{},方差是:{}'.format('团队协作', np.mean(N), np.var(N)))

I = sorted(List_new, key=lambda i: i[8], reverse=False)
I_reverse = sorted(List_new, key=lambda i: i[8], reverse=True)
print('按照实践环节考核五成绩正排序:', I)
print('按照实践环节考核五成绩倒排序:', I_reverse)
L = sorted(List_new, key=lambda row: i[11], reverse=False)
L_reverse = sorted(List_new, key=lambda i: i[11], reverse=True)
print('按照报告撰写(10)成绩正排序:', L)
print('按照报告撰写(10)成绩倒排序:', L_reverse)

print("实践环节考核一的最大值为:", max(E))
print("项目答辩(0.2)的最小值为:", min(K))

print('综合成绩最高的五名同学的学号和姓名为:')
for i in List_new:
    i.append(sum(i[4:14]))
List_new = sorted(List_new, key=lambda i: i[14], reverse=True)[:5]
for id, name in enumerate(List_new, 1):
    print('第{}名 学号:{} 姓名:{}'.format(id, name[2], name[3]))

在这里插入图片描述

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Violent-Ayang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值