您的位置:首页 > 编程语言 > Python开发

Python学习心得2:求平均值

2020-03-31 19:32 1336 查看

继续昨天的题目今天的练习又提出了新的要求,先来看下题目:

上一个练习中,我们完成了两组成绩的合并和排序。
不过,老师有了新的需求:想知道两组的平均分,以及把低于平均分的成绩也打印出来。
所以,在这个练习中,我们会帮老师计算出两组的平均分,并挑出那些在平均分之下的成绩。

要求已经加粗,刚开始我的方法如下:

scores =  [91, 95, 97, 99, 92, 93, 96, 98]
underavg = [] #用来存平均分之下的成绩
sum1=0 #用来储存和,之后用来求平均分

#求平均分
for score in scores:
sum1+=score
print('平均分为:{}'.format(sum1/len(scores)))

#挑出在平均分之下的成绩并打印
for j in range(len(scores)):
if scores[j]<(sum1/len(scores)):
underavg.append(scores[j])
print('在平均分之下的成绩有:{}'.format(underavg))

平均分为:95.125
在平均分之下的成绩有:[91, 95, 92, 93]

然后便是自己学习新知识的一步噜!通过搜索,找到更简单的求平均值的方法,来改造代码。

1.

知道了可用

sum()
函数来代替自己建循环求列表和的过程,求平均便一行一句就可以完成:

scores1 =  [91, 95, 97, 99, 92, 93, 96, 98]

average = sum(scores1)/len(scores1) #用sum()函数来代替循环求列表和
print('平均成绩是:{}'.format(average))

平均成绩是:95.125

2.

导入

numpy库
,变得很简单:

import numpy as np #导入numpy库取名为np
scores1 =  [91, 95, 97, 99, 92, 93, 96, 98]

average = np.mean(scores1) #使用便可以直接求平均数
print('平均成绩是:{}'.format(average))

平均成绩是:95.125

最终的答案(就是用了numpy库):

import numpy as np  # 导入 numpy库,下面出现的 np 即 numpy库

scores1 =  [91, 95, 97, 99, 92, 93, 96, 98]
scores2 = []

average = np.mean(scores1)  # 一行解决。
print('平均成绩是:{}'.format(average))

for score in scores1:
if score < average:
scores2.append(score) # 少于平均分的成绩放到新建的空列表中
print(' 低于平均成绩的有:{}'.format(scores2))  # 上个关卡选做题的知识。

# 下面展示一种NumPy数组的操作,感兴趣的同学可以自行去学习哈。
scores3 = np.array(scores1)
print(' 低于平均成绩的有:{}'.format(scores3[scores3<average]))

平均成绩是:95.125
低于平均成绩的有:[91, 95, 92, 93]
低于平均成绩的有:[91 95 92 93]

  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
爱吃蛋糕的小刘同学 发布了3 篇原创文章 · 获赞 2 · 访问量 182 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: