测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A30486. 参赛作品小林为选出班级中平均分最高的参赛作品,编写Python程序,算法设计如下:(1)5位评委对3个作品的评分数据存储在列表data中(数据由3位十进制数组成,第1位对应作品号,后2位对应作品得分,如“275”表示2号作品得分75)(2)统计并输出3个作品的平均分(保留一位小数),选择平均分最高的作品为参赛作品,若最高平均分存在并列,则输出全部并列的最高平均分作品号。程序运行界面如下图所示。 …

填空题 困难

题目描述

参赛作品

小林为选出班级中平均分最高的参赛作品,编写Python程序,算法设计如下:

(1)5位评委对3个作品的评分数据存储在列表data中(数据由3位十进制数组成,第1位对应作品号,后2位对应作品得分,如“275”表示2号作品得分75)

(2)统计并输出3个作品的平均分(保留一位小数),选择平均分最高的作品为参赛作品,若最高平均分存在并列,则输出全部并列的最高平均分作品号。程序运行界面如下图所示。 

程序如下。请在划线处填入合适的代码: 

data=[180,283,385,170,276,384,180,285,380,190,295,390,170,272,372]

 

s={1:0,2:0,3:0} 

ans=[]

max_zp=0

for c in data:

    zp= ______①___   

    fs=c%100

    ______②______        

for i in range(1,4):

    ______③______

    print('作品',i,'平均分为',s[i])

    if s[i]>max_zp:

        max_zp=s[i]

for i in range(1,4):

    if  ______④______ :

        ans.append(i)

 

print('平均分最高作品号是:',ans)

参考答案

data = [180, 283, 385, 170, 276, 384, 180,285, 380, 190, 295, 390, 170, 272, 372]   s = {1: 0, 2: 0, 3: 0} ans = [] max_zp = 0 for c in data:     zp = c//100     fs = c % 100     s[zp] += fs for i in range(1, 4):     s[i] = round(s[i]/5, 1)     print('作品', i, '平均分为', s[i])     if s[i] > max_zp:         max_zp = s[i] for i in range(1, 4):     if s[i] == max_zp:         ans.append(i) print('平均分最高作品号是:', ans)

答案解析

(1)c//100 或等效答案;(2分)

(2)s[zp]+=fs 或等效答案;(2分)

(3)s[i]=round(s[i]/5,1) 或等效答案;(3分)

(4)s[i] == max_zp 或等效答案。(3分)

上一题 下一题