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

2022年6月电子学会青少年软件编程(Python五级)等级考试试卷
操作/编程 五级 2022 2022-11-02 09:26:34 47

一、编程题

1.

数字序列交集

已知两个整数序列num1和num2,求解两个整数序列的交集。输出结果中的每个元素一定是唯一的。我们可以 不考虑输出结果的顺序 。例如,nums1 = [4,9,5], nums2 = [9,4,9,8,4]。输出结果可以为[9,4]或[4,9]。

请将程序代码补全:

def aa( nums1=[], nums2=[]):

        set1 =      ①      

        set2 =      ②      

        if len(set1) > len(set2):

                   ③         

        return [x for x in set1 if x in      ④    ]


nums1=[4,9,5]

nums2= [9,4,9,8,4]

print(aa(nums1,nums2))

2.

“石头剪刀布”游戏是猜拳的一种,两人玩,起源于中国,游戏规则中,石头克剪刀,剪刀克布,布克石头。小明编写了Python程序代码,决定与电脑大战“石头剪刀布”。

输入格式:

      共1行,一个数表示用户出拳的类型(石头1、剪刀2、布3)。

输出格式:

      共1行,输出电脑的出拳类型与游戏结果。

输入样例:

      2

输出样例:

      电脑出的是布,这局恭喜用户胜出!


import random

win=[('石头','剪刀'),      ①    ,('布','石头',)]

cq={1:'石头',2:'剪刀',3:'布'}

while True:

    user=int(input('请出拳:1.石头 2.剪刀 3.布 \n'))

    if user not in range(     ②     ):

        print("输入有误,请重新输入……")

        continue

    computer=random.randint(1,3)

    if user==computer:

        print("电脑出的是%s,这局是平局!"%cq[computer])

        break

    elif (    ③     ,cq[computer]) in win:

        print("电脑出的是%s,这局恭喜用户胜出!"%cq[computer])

        break

    else:

        print("电脑出的是%s,这局恭喜电脑胜出!"%cq[computer])

        break

3.

明明得到一个数值列表,想知道列表中只出现过一次的元素。请你帮忙编写程序输出这些元素。注意元素必须按照它们在数字列表中初始顺序输出。 输入格式: 输入共1行,若干个数值之间以空格隔开。 输出格式: 输出共1行,若干个数值之间以空格隔开。

输入样例: 19 73 258 6 73 234

输出样例: 19 258 6 234


a=[int(i) for i in input().split()]

n=len(    ①    )

for i in range(    ②    ):

    f=0

    for j in range(n):

        if (a[i]==    ③     and i!=j):

            f=1

            break;

    if (f==0):

        print(    ④    ,end=' ')

公众号
客服 反馈
顶部