列表中的百分比

Percent from a list

我有一个包含测试分数的列表

points= [0,0,0,0,0,0,8,8,8,9,10,11,11,12,12,13,14,14,15,15,16,
 16,17,17, 18, 19,21,21,23, 23, 24, 24, 24, 25,25, 25,
 26, 27, 27, 28, 29, 29, 29, 29, 30, 30, 30, 31,31, 32,
 34, 35, 36, 36, 37, 38]

如果我们假设所有参与者在接下来的两次测试中都获得满分(总共80分,每次测试40分),那么还有多少百分比的参与者可以达到“A”的分数。该函数应 return 百分比,在数学意义上介于 0 和 1 之间。 88分以上可以拿A。

这就是我的代码,我不知道下一步该做什么

答案应该是这样的:

潜在最高分:89.285714%

使用这个:

没有numpy:

potential = [p + 80 for p in points]
percentage = sum([1 for i in potential if i>=88]) / float(len(potential)) * 100
89.28571428571429

使用numpy:

import numpy as np

potential = [p + 80 for p in points]
percentage = sum(np.array(potential)>=88) / float(len(potential)) * 100
89.28571428571429

这是一个没有 numpy 的简单解决方案:

sum(  i +80 >= 88 for i in points  )/len(points)*100

这个returns(在Python 3):

89.28571428571429

编辑:由 h4z3s 提示简化。