from openpyxl import load_workbook, Workbook
import random
wb = load_workbook('选手信息.xlsx')
sheetname=wb.sheetnames[0]
ws=wb[sheetname]
dic= {}
for rn in range(1, ws.max_row + 1):
temp_list =[]
key=ws['A'+str(rn)].value
w1 =ws['B'+str(rn)].value
w2 =ws['C'+str(rn)].value
w3 =ws['D'+str(rn)].value
temp_list =[w1, w2, w3]
dic[key] = temp_list
nums_list = []
result_list = []
aver_list = []
scor_list = []
rows = 8
columns = 10
for i in range(rows):
nums_list.append([])
result_list.append([])
for j in range(columns):
num = random.randint(0,10)
nums_list[i].append(num)
nums_list[i].sort()
del nums_list[i][0]
del nums_list[i][-1]
aver = sum(nums_list[i]) / len(nums_list[i])
scor = round(aver * dic['s0' + str(i + 1)][2], 3)
result_list[i].append('s0' + str(i + 1))
for n in range(3):
result_list[i].append(dic['s0' + str(i + 1)][n])
last_result=sorted(result_list,key=lambda e:e[5],reverse=True)
for n in range(rows):
last_result[n].append(n+1)
print(last_result)
wb=Workbook()
sheet = wb.active
sheet.title='成绩表'
sheet_field=['选手ID','姓名','国家',
'难度系数','平均分','最后得分','名次'
]
sheet.append(sheet_field)
for s in last_result:
sheet.append(s)
wb.save('result_final.xlsx')
求大佬帮忙看看有什么问题,一直报告超出范围
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥15 关于#matlab#的问题:有没有什么其他办法能够保证不退出进程(相关搜索:matlab调用)
- ¥15 依据报错在原代吗格式的基础上解决问题
- ¥15 在虚拟机中安装flash code
- ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
- ¥20 verilog状态机方法流水灯
- ¥15 pandas代码实现不了意图
- ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
- ¥25 LT码在高斯信道下的误码率仿真
- ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
- ¥15 yolov5目标检测并显示目标出现的时间或视频帧