2024年12月电子学会青少年软件编程(Python五级)等级考试试卷
操作/编程
五级
2024
2025-08-17 13:06:03
85次
一、编程题
游戏问题
小强同学用Python语言创作了一个非常简单好玩的游戏。这个游戏的规则:由两名玩家参与游戏,分为A、B两队,A队以5、6、7、8、9为幸运数字,B队以2、3、4、10、11、12为幸运数字。每一轮游戏时,在1~6之间生成两个随机数,如果两个随机数之和是A队的幸运数字,则A队得2分;反之,B队得2分。每次游戏共100轮,最后得分A队高于B队,A队胜,否则B队胜。
请补全下列程序,实现此功能。
'''
import random
A_lucky=[5,6,7,8,9]
B_lucky=[2,3,4,10,11,12]
A=[]
B=[]
for i in range(100):
n1,n2= ① #产生两个随机数
s= ②
if s in ③ :
A.append(2) #得分+2
else:
B.append(2) #得分+2
if len(A)>len(B):
win='A队'
else:
win='B队'
print('A队得分:{},B队得分:{},本次游戏的获胜方是:{}!'.format( ④ ))
———————分割线,以下为程序输入输出结果—————————
A队得分:122,B队得分:78,本次游戏的获胜方是:A队!
【知识点】 电子学会Python五级
球队员
篮球队里有10名同学。训练时,教练会随机抽取同学组成两个队伍进行对抗。
请补全下列程序,实现随机分队的功能。
import random
players=['曹操','夏侯惇','司马懿','刘备','关羽','张飞','周瑜','孙权','甘宁','鲁肃']
A=set() #创建空集合A
while ① : #队员人数够不够
n=random.randint(0,9)
player= ② #获取队员名字
A. ③ #将队员名字添加到A队
P= ④ #创建全体队员的集合
B=P-A
print('A队的队员有:{} \nB队的队员有:{}'.format(A,B))
———————分割线,以下可能为程序输入输出结果—————————
A队的队员有:{'刘备', '司马懿', '张飞', '关羽', '鲁肃'}
B队的队员有:{'曹操', '孙权', '夏侯惇', '周瑜', '甘宁'}
【知识点】 电子学会Python五级
知识竞答
小美参加环保知识竞答比赛,回答结果存储在字符串中,其中回答正确用“T"表示,回答错误用“F”表示。回答错误不得分,连续答对k题,则第k题加k分。下面的自定义函数能根据答案字符串计算小美的总分数,它的形式参数ans是一个只包含"F"和"T"两种字符的字符串,函数根据得分规则和答案字符串计算出总分数。例如当ans="FTTTFTTFFT"时,函数返回10;ans="TTTTFFTFTF"时,函数返回12。实现上述功能的程序如下,请在程序划线处填入合适的代码。
def get_score(ans):
k,s=0,0
for c in ans:
if c=="T":
k=k+1
①
else:
②
return s
ans="FFFTTTTTFF"
print( ③ )
【知识点】 电子学会Python五级
