学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
某年级要选出3位同学参加市趣味科学竞赛,现有8位同学报名参赛。参赛选手进行展示后由大众评委投票产生前三名。投票结果存储在“vote.txt”文件中,如图a所示。其中choose列的数据为大众评委的投票对象,均以选手代码显示。
选手名称与选手代码的对应关系如下表:

选手名称

选手 A

选手 B

选手 C

选手 D

选手 E

选手 F

选手 G

选手 H

选手代码

0

1

2

3

4

5

6

7

小明用Python编写了一个统计得票数的程序,用于检查每位大众评委的投票是否有效(每人投3票且不重复),并对有效结果进行统计,按照得票数从高到低输出投票结果,如图b所示。若存在并列且前三名总人数超过3人,则输出所有满足条件的选手,并通过随机抽奖形式在末位同分同学中抽取参赛学生,如图c所示,在选手C、E、H中抽取一位同学作为第三名。

图a                                        图b                           图 c


(1)根据题意,若评委人数为7人,投票数据分别为“142,565,620,361,203,604,136”,则入选人员不可能_____ (单选, 填字母) 。

A.选手 A,选手 B,选手 G       B.选手 C,选手 D,选手 G

C.选手 A,选手 C,选手 D       D.选手 B,选手 D,选手 G


(2)实现上述功能的代码如下, 请在划线处填入合适的代码。

from random import randint

def check(x):       #检测投票是否有效

flag=False

sum,checklist=0,[0]*8

if len(x)==3:

for i in range(3):

if "0"<=x[i]<="7":

checklist[int(x[i])]=1

for i in range(8):

sum+=checklist[i]

if ________ :

flag=True

return flag

dict={0:"选手 A",1:"选手 B",2:"选手 C",3:"选手 D",4:"选手 E",5:"选手 F",6:"选手 G",7:"选手 H"}

f=open("vote.txt","r")

line=f.readline()       #第一行为列标题,读取两次跳过该行

line=f.readline()

count=[0]*8

while line:

linelist=line.split(",")             #将字符串按逗号分隔为列表

____

if check(s):

for i in range(3):

count[int(s[i])]+=1

line=f.readline()

f.close()

a=[]

for i in range(8):

a.append([dict[i],count[i]])

#将列表 a 按照选手票数从高到低排序并输出,代码略

m=3       #入选人数

b=[a[0]] ;k=1;st=0

for i in range(1,len(a)):

if ______ :

break

if a[i][1]!=a[i-1][1]:

st=i

k+=1

b.append(a[i])

print("满足条件的选手:")

for i in range(k):

print(b[i])          #输出满足票数前 m 条件的参赛选手

#输出最终入选人员

print("最终入选人员:")

for i in range(st):

print(b[i])

#末位同分的同学, 用抽奖的方式确定入选人员

flag = [0] * k

_______

while d>0:

lucky=randint(st,k-1)

if flag[lucky]==0:

print(b[lucky])

flag[lucky]= 1

d-=1

#在最后同分的同学中随机抽取

编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交