集合
概念:一个无序的不重复的元素列表
创建:
用大括号{}或者set函数创建集合
注意:集合不支持下标赋值和取值
定义空的集合不能直接使用
my_set={1,4,'acd','fi'}
my_set=set([1,23,23,4,5]}
任务描述: 张三、李四、王五、赵六、王麻子、二混子六位同学一同参加期末考试,
考试结果如下:分数根据姓名依次排列。
语文:95,89,79,90,77,25
数学:95, 90, 44, 77, 77, 89
现有如下需求:
1. 【*】将科目、名字、对应的成绩数据以字典的形式进行保存,然后输出该字典中的数据。
zidian={'语文':{'张三':95,'李四':89,'王五':79,'赵六':90,'王麻子':77,'二混子':25},
'数学':{'张三':95,'李四':90,'王五':44,'赵六':77,'王麻子':77,'二混子':89}}
print(zidian)
2. 【**】根据该字典,分别计算这六个人的语文和数学总成绩及对应的平均成绩。
ch_total = sum(zidian['语文'].values())
print('语文总成绩:',ch_total)
ma_total = sum(zidian['数学'].values())
print('数学总成绩:',ma_total)
av_ch = ch_total/len(zidian['语文'])
print('语文平均成绩:',av_ch)
av_ma = ma_total/len(zidian['数学'])
print('数学平均成绩:',av_ma)
3. 【**】将字典中的语文、数学成绩数据保存到列表中,然后对成绩进行分组聚合:统计不同分数出现的个数(以字典形式保存)、不同分数中对应的众数。
4. 【***】根据题目3中生成的成绩数据列表先进行去重,然后进行升序排序,最后打印最高分和最低分的差值。
5. 【*】由题可知,所有分数中的最高分是95,是张三同学。如果假设老师请张三同学猜该班级中最高分是多少,共有三次机会,如果分数大于最高分,返回:预期太高,如果分数小于最高分,返回:预期太低,如果猜对,则返回:恭喜张三同学考取班级最高分,然后结束程序,如果三次还没有猜对,则返回:机会已经用完。