万卷网> 电子学会考级 >Python等级考试 > 2024年12月电子学会青少年软件编程(Python五级)等级考试试卷

2024年12月电子学会青少年软件编程(Python五级)等级考试试卷
操作/编程 五级 2024 2025-08-17 13:06:03 85

一、编程题

1.

游戏问题

小强同学用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队!

2.

球队员

篮球队里有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队的队员有:{'曹操', '孙权', '夏侯惇', '周瑜', '甘宁'}

3.

知识竞答

小美参加环保知识竞答比赛,回答结果存储在字符串中,其中回答正确用“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(        ③        )

公众号
客服 反馈
顶部