python字典
想要其他 的方法,想不出来了,大佬们帮忙想一想dt={'n01':90,'n02':89,'n03':78,'n04':90}
sum=0
num=len(dt)
dt.values()
for value in dt.values():
sum+=value
average=sum/num
print('参加考试的人数为:%s,平均分数:%.2s'%(num,average))
for key,value in dt.items():
if max(dt.values())==value:
print('成绩最高分数:%s,学号:%s'%(value,key))
qcyQCY 发表于 2020-9-23 19:23
这有一个成绩
应该有两个
这不是很简单吗from collections import defaultdict
dt = {'n01': 90, 'n02': 89, 'n03': 78, 'n04': 90}
c = defaultdict(list)
for k, v in dt.items():
c.append(k)
count = len(dt)
avg = sum(dt.values()) / count
max_value = max(c.keys())
max_numbers = c
print('参加考试的人数为:%s,平均分数:%.2s' % (count, avg))
本帖最后由 疾风怪盗 于 2020-9-20 14:53 编辑
这不是我昨天回复的那个帖子的代码么(好像还有点不一样。。。。。。)。。。。。。。
什么叫想要其他的方法?想要怎么样的方法? 疾风怪盗 发表于 2020-9-20 14:49
这不是我昨天回复的那个帖子的代码么(好像还有点不一样。。。。。。)。。。。。。。
什么叫想要其他的 ...
想要另一种方法,老哥 qcyQCY 发表于 2020-9-20 15:01
想要另一种方法,老哥
一个问题想要多种解决方法 本帖最后由 疾风怪盗 于 2020-9-20 16:51 编辑
用pandas
dt={'n01':90,'n02':89,'n03':78,'n04':90}
import pandas as pd
a=pd.DataFrame({'num':list(dt.values())},index=list(dt.keys()))
print('参加考试的人数为:%s,平均分数:%.2s'%(len(a),a.mean().values))
b=a.isin(a.max().values)]
for i in b.index:
print('成绩最高分数:%s,学号:%s' % (b.loc, i))
只会这个了,其他方法不会了 疾风怪盗 发表于 2020-9-20 16:27
用pandas
只会这个了,其他方法不会了
牛逼,老哥,导入模块,我想都不敢想 qcyQCY 发表于 2020-9-20 17:06
牛逼,老哥,导入模块,我想都不敢想
老哥,你看看这个,不用定义函数能不能操作 qcyQCY 发表于 2020-9-20 17:07
老哥,你看看这个,不用定义函数能不能操作
我是没辙了 qcyQCY 发表于 2020-9-20 17:08
我是没辙了
这个很难么?不要函数就把函数内容拆出来。。。。。。是我理解不对么?
a =
# value=66
value = int(input("请输入需要查找的数字:"))
if value in a:
# new_value=44
new_value = int(input("请输入插入的数字:"))
a.insert(a.index(value), new_value)
else:
print(f"在列表中未找到{value}")
print(a)
qcyQCY 发表于 2020-9-20 17:06
牛逼,老哥,导入模块,我想都不敢想
a=
er=input('请输入查找的数字:')
value=int(er)
if value in a:
q=a.index(value)
a.insert(q,44)
print("插入成功!")
我刚刚又发现一种很简单的方法
else:
print('没有找到!') qcyQCY 发表于 2020-9-20 19:40
a=
er=input('请输入查找的数字:')
value=int(er)
{:10_258:}你这写的,不是和我的一样的么。。。。。。。。。。 from collections import defaultdict
dt = {'n01': 90, 'n02': 89, 'n03': 78, 'n04': 90}
c = defaultdict(list)
for k, v in dt.items():
c.append(k)
count = len(dt)
avg = sum(dt.values()) / count
max_value = max(c.keys())
max_numbers = c
print('参加考试的人数为:%s,平均分数:%.2s' % (count, avg))
print('成绩最高分数:%s,学号:%s' % (max_value, max_numbers))
不知道是不是这样 dt = {'n01': 90, 'n02': 89, 'n03': 78, 'n04': 90}
print('参加考试的人数为:%s,平均分数:%.2s' % (count:=len(dt), sum(dt.values()) / count))
print('成绩最高分数:%s,学号:%s' % max(dt.items(), key=lambda x:x)) BSOD 发表于 2020-9-20 22:05
不知道是不是这样
这有一个成绩
应该有两个 {:10_312:}这帖子,这么久了,提供了这么多方案,也该解决了吧
敢不敢结了帖子。。。。。。 确实,楼主该结帖了,养成个好习惯{:10_277:} dt = {'n01': 90, 'n02': 89, 'n03': 78, 'n04': 90}
print(f"参加考试的人数是{len(dt)},考试的平均分是{sum(dt.values()) // len(dt)}")
for (xuehao, fenshu) in dt.items():
if max(dt.values()) == fenshu:
print(f'最高得分是{fenshu},学号是{xuehao}')
就是多利用了几个列表的小技巧而已
很实用,谢谢
页:
[1]