1.输出所有同学“名称:对应成绩”的信息 2分
2.输出分值最高和最低的同学名称及分数,(如有重复并列输出)3分
3.求出平均值并输出 2分
4.输出高于平均值的同学名称及成绩 3分
5.输出低于平均值的同学名称及成绩 3分
6.将成绩排名信息写入csv格式的文件中,文件名称为:test_你自己的名字_时间戳.csv 3分
7.生成一个图片,将前三名信息水印在这张图片上,将图片保存在 4分
第一题: list = [] df = pd.read_excel(r"C:\Users\26448\Desktop\2209a.xlsx") for i, j in df.iterrows(): list.append({'姓名': str(j[0]),'分数': int(j[1])}) list.pop(0) list.pop(-1) fd = [] for i in list: fd.append(i['分数']) 第二题: maxx = [] for i in list: if i['分数'] == max(fd): maxx.append(i) print('最高分:',i) print(maxx) for i in list: if i['分数'] == min(fd): print('最低分:',i)
第三题: fens = reduce(lambda x,y:x+y , fd) pjf = fens/len(fd) print('平均分','%.1f' %pjf)
第四题: for i in list: if i['分数'] < pjf: print('低于平均分:{},成绩为:{}'.format(i['姓名'],i['分数'])) 第五题: for i in list: if i['分数'] > pjf: print('高于平均分:{},成绩为:{}'.format(i['姓名'],i['分数']))
第六题: with open('zhu.csv','w') as f: writer = csv.writer(f) for i in range(len(list)): p = list[i]['姓名'],list[i]['分数'] writer.writerow(p)
第七题: # 创建一个空白图片 image = Image.new('RGB', (400, 300), 'white') draw = ImageDraw.Draw(image) # 设置字体和颜色 font = ImageFont.truetype('msyh.ttc', 36) text_color = (0, 0, 0) # 添加文本水印 text = '' for j in range(len(maxx)): text += ':'.join([str(maxx[j]['姓名']),str(maxx[j]['分数'])]) print(text) draw.text((10, 10), text, fill=text_color, font=font) # 保存图片 image.save('watermark.png')