鱼C论坛

 找回密码
 立即注册
查看: 834|回复: 2

设计程序,没有思路

[复制链接]
发表于 2020-4-11 19:00:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
已知“score”文件夹下score.txt 中保存有10 个评委对3个候选人的打分情况,示例如

Judge1,75,85,81
Judge2,84,87,76
从左到右各个字段的含义分别为:评委号,1号候选人得分,2号候选人得分,3号候选
人得分,各字段之间用逗号分隔。
要求设计Python程序,(1)读取该txt文件,将每个候选人的得分去掉-一个最高分和一-
个最低分,(2)计算剩余得分的平均数作为该候选人最终成绩,(3)找出最终成绩最高
的候选人的编号及最终成绩,分别输出到socre文件夹下score.xlsx 文件的score工作簿
中A1和B1单元格.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-11 21:16:10 | 显示全部楼层
  1. def average(values):
  2.     max=0
  3.     min=100
  4.     sum=0

  5.     for i in values:
  6.         if i>max:
  7.             max=i
  8.         if i<min:
  9.             min=i
  10.         sum+=i

  11.     return (sum-max-min)/8

  12. def read():
  13.     with open("score\score.txt",encoding='UTF-8') as file:
  14.         it=zip(*(map(int,i.split(',')[1:]) for i in file))
  15.         it.__next__()
  16.         maxidx=0
  17.         max=0

  18.         for i,j in enumerate(it,1):
  19.             j=average(j)
  20.             if j>max:
  21.                 max=j
  22.                 maxidx=i

  23.         return maxidx,max
复制代码
写入我就不会了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 22:00:09 | 显示全部楼层
循环读取文档的每一行,把每行以逗号分隔成列表,[1].append()进候选人1列表,每行[2]加入候选人2列表,每行[3]加入候选人3列表,sorted()列表排序,取[1:6]元素,sum()/6求平均值,再互相比较一下,用openpyxl库写入,应该蛮简单的吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-13 21:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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