找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3551|回复: 6

[求助] 一道很简单的练习题,谢谢谢谢

1

主题

1

帖子

1

积分

贫民

积分
1
python0605 发表于 2019-3-10 19:22:01 | 显示全部楼层 |阅读模式
WechatIMG320.jpeg
S = list(eval(input()))
s = sorted(S)
a = s.index(60)
b = s.index(85)
c = s[:a]
d = s[b+1:]
print('%.2f' % (sum(c)/len(c))
print('%.2f' % (sum(d)/len(d))

这样写究竟错哪了/(ㄒoㄒ)/~~
救救孩子吧,谢谢!!
回复

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
Joker_UUN0i 发表于 2019-3-11 17:46:09 | 显示全部楼层
如果有多个85咋办呢
回复 支持 1 反对 0

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-3-11 20:04:03 | 显示全部楼层
本帖最后由 sheeboard 于 2019-3-11 20:10 编辑

import numpy as np

score=[85,55,93,75,56,47,67,90,85,85,24,88,60]
#score=sorted(score)

flunk=[x for x in score if x<60]
excellent=[x for x in score if x>85]

print("%.2f" % np.mean(flunk))
print("%.2f" % np.mean(excellent))


回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
Rainaman 发表于 2019-3-12 11:20:27 | 显示全部楼层
同意2楼意见,有多个85时,d = s[b+1:]只忽略了第一个85,但将后面的85计入了优秀统计数
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
一辈子有多长 发表于 2019-3-12 13:31:45 | 显示全部楼层
  1. # coding: utf-8
  2. # filename: magic_method.py

  3. li = [85, 93, 55, 75, 56, 47, 67, 90, 24, 88, 60]


  4. li1 = list(filter(lambda x: x < 60, li))
  5. li2 = list(filter(lambda x: x > 85, li))
  6. result1 = sum(li1)/(len(li1)*1.0)
  7. result2 = sum(li2)/(len(li2)*1.0)
  8. print(format(result1, '0.2f'))
  9. print(format(result2, '0.2f'))
复制代码


我的思想是遍历整个列表,寻找其中符合条件的数再形成一个列表来求值
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
siegebaoniu 发表于 2019-3-18 14:47:42 | 显示全部楼层
  1. #Python 3.7
  2. S = [85,55,93,75,56,47,67,90,24,88,60]
  3. print (S)
  4. s = sorted(S)
  5. a = s.index(60)
  6. c = s[:a]
  7. s.reverse()
  8. b = s.index(85)
  9. d = s[:b]
  10. print (c)
  11. print (d)
  12. print('%.2f' % (sum(c)/len(c)))
  13. print('%.2f' % (sum(d)/len(d)))
复制代码
回复 支持 反对

使用道具 举报

0

主题

102

帖子

102

积分

侠客

积分
102
傻眼貓咪 发表于 2021-8-7 13:42:06 | 显示全部楼层
  1. # Author: 傻眼貓咪
  2. results = [85, 93, 55, 75, 56, 47, 67, 90, 24, 88, 60]
  3. gradeA = [i for i in results if i > 85]
  4. fail = [i for i in results if i < 60]
  5. print("{:.2f}".format(sum(fail)/len(fail)))
  6. print("{:.2f}".format(sum(gradeA)/len(gradeA)))
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表