1. 程式人生 > 實用技巧 >python統計全班的成績

python統計全班的成績

按照給出的學生成績,統計各科成績的平均成績、最小成績、最大成績、方差、標準差、並按總成績排序,最後進行成績輸出。

程式碼:

import numpy as np

score_type = np.dtype({'names':["name","chinese","english","math"],'formats':['S32','i', 'i', 'i']})
score = np.array([("zhangfei",66,65,30),("guanyu",95,85,98),("zhangyun",93,92,96),("huangzhong",90,88,77),
                  (
"dianwei",80,90,90)],dtype = score_type) chineses = score[:]["chinese"] englishes = score[:]["english"] maths = score[:]["math"] total = score[:]['chinese'] +score[:]['english']+score[:]['math'] print('語文平均成績:',np.mean(chineses)) print('英語平均成績:',np.mean(englishes)) print('數學平均成績:',np.mean(maths)) print
('語文最小成績:',np.amin(chineses)) print('英語最小成績:',np.amin(englishes)) print('數學最小成績:',np.amin(maths)) print('語文最大成績:',np.amax(chineses)) print('英語最大成績:',np.amax(englishes)) print('數學最大成績:',np.amax(maths)) print('語文方差:',np.var(chineses)) print('英語方差:',np.var(englishes)) print('數學方差:',np.var(maths)) print
('語文標準差:',np.std(chineses)) print('英語標準差:',np.std(englishes)) print('數學標準差:',np.std(maths)) print('按總成績排序:',np.sort(total))

結果:

語文平均成績: 84.8
英語平均成績: 84.0
數學平均成績: 78.2
語文最小成績: 66
英語最小成績: 65
數學最小成績: 30
語文最大成績: 95
英語最大成績: 92
數學最大成績: 98
語文方差: 114.96000000000001
英語方差: 95.6
數學方差: 634.56
語文標準差: 10.721940122944169
英語標準差: 9.777525249264253
數學標準差: 25.19047439013406
按總成績排序: [161 255 260 278 281]