里用python实现"/>
在PyCharm 里用python实现
# 输出所有同学“名称:对应成绩”的信息 # 输出分值最高和最低的同学名称及分数 # 求出平均值并输出 # 输出高于平均值的同学名称及成绩 # 输出低于平均值的同学名称及成绩 # 将成绩排名信息写入csv格式的文件中,文件名称为:test_你自己的名字_时间戳.csv 3 # 生成一个图片,将前三名信息水印在这张图片上,将图片保存在from PIL import Image, ImageDraw, ImageFont #需要下载pillow第三方包 import pandas as pd #需要下载pandas第三方包 import csv import time# 获取表格里的数据 df = pd.read_excel("输入对应的表格以及格式") lst = [] ty = [] # # 输出所有同学“名称:对应成绩”的信息 for index, row in df.iterrows():lst.append({'姓名': row[0], '分数': row[1]})lst.pop(0) lst.pop(-1) print(lst) for i in lst:ty.append(i['分数']) #分数 for i in lst:if i['分数'] == max(ty): #最大值print(i) for i in lst:if i['分数'] == min(ty): #最小值print(i)a = sum(ty) / len(ty) #平均值 print("平均分数:", a)# 获取时间戳 timestamp = int(time.time()) # 构造文件名 file_name = f"test_名字_{timestamp}.csv"# 写入CSV文件 with open(file_name, "w", newline="",encoding='UTF-8') as file:writer = csv.DictWriter(file, fieldnames=["姓名", "分数"])writer.writeheader() # 写入标题行writer.writerows(lst) # 写入数据记录# 前三名信息 scores = sorted(lst, key=lambda x: x['分数'], reverse=True) three = scores[:3] print(three)# 打开图片 image = Image.open("2.jpg") # 创建绘图对象 draw = ImageDraw.Draw(image) # 设置字体和字体大小 font = ImageFont.truetype("C:/Windows/Fonts/simhei.ttf", 33)for i, info in enumerate(three):text = f"第{i+1}名: {info['姓名']} - {info['分数']}分"utf8_text = text.encode('utf-8').decode('utf-8')draw.text((10, 10 + i*30),utf8_text, font=font, fill=(5, 5, 5))# 保存图片 image.save("src.png")
更多推荐
在PyCharm 里用python实现
发布评论