前言:
这是帮网友写的作业
技术路线:
1、xlrd从excel读取学生成绩,并存储到列表
2、通过numpy中的mean()函数获得平均值
3、通过lambda表达式对对字典的value进行排序
'''
作业:
平均成绩,并且要统计高于平均成绩的人数,最后要将成绩进行降序排列。
要求:通过函数调用实现。最好各个模块都是用函数实现,主程序部分协调各函数的调用。
输出包括,计算出的平均成绩,高于平均成绩的人数,降序排好的成绩。
version:01
author:金鞍少年
Date:2020-3-20
'''
import xlrd
import numpy as np
import sys
class score_table:
def __init__(self, filepath,Sheet):
self.filepath = filepath
self.Sheet = Sheet
# 获取excel中数据
def read_excel(self):
book = xlrd.open_workbook(self.filepath) # 打开excel表,填写路径
table = book.sheet_by_name(self.Sheet) # 找到sheet页
# 获取总行数,总列数
row_Num = table.nrows
col_Num = table.ncols
grade_table = [] # 成绩表,方便类里面调用
key = table.row_values(0) # 这是第一行数据,作为字典的key值
if row_Num <= 1:
print("没数据")
else:
j = 1
for i in range(row_Num - 1