为了账号安全,请及时绑定邮箱和手机立即绑定

continue语法下计算平均值出现了很奇怪的问题 求解..

#两段代码 前半段是计算整个集合的平均值,后半段只计算大于60的平均值
L = [75, 98, 59, 81, 66, 43, 69, 85]
a = 0.0
ag = len(L)
for x in L:
 a = a + x
print a / ag
exit = input('press enter to exit!')
#-------------------我是分割线-----------------
L = [75, 98, 59, 81, 66, 43, 69, 85]
a = 0.0
ag = len(L)
for x in L:
 if x < 60:
  continue
 a = a + x
print a / ag
exit = input('press enter to exit!')

第一段代码执行的结果是72.0 第二段执行结果59.25 为啥第二段比第一段还小呢..?

正在回答

3 回答

第二段总和小于第一段,但ag的值是相等的,所以平均值小

1 回复 有任何疑惑可以回复我~

ag=len(L),在第二步计算的时候你把低于60的成绩去除了但是没有改变数据个数ag,建议在每次忽略一个低于60的成绩后面加一行代码ag=ag-1

1 回复 有任何疑惑可以回复我~

傻孩子  哈哈哈   ag=len()还是8个人  你把6个高于60的成绩求和后再除以 8个人  肯定小啊

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

continue语法下计算平均值出现了很奇怪的问题 求解..

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信