蓝桥等考Python组别
十六
级
第一部分:选择题
1、Python L
16
(15分)
a和b是两个集合,它们的关系如下图所示:
以下哪个表达式的值是True?( )
a
<
b
a
>
b
a =
=
b
a <
=
b
正确答案:
B
2
、Python L
16
(
15
分)
a和b是两个集合
,
“a | b”
可以用以下哪幅图的阴影部分表示?( )
正确答案:
D
3、Python L
16
(20分)
运行下面程序,输出的结果是( )。
s = set([2, 1, 3, 1, 1, 2])
print(
len(
s
)
)
3
4
5
6
正确答案:
A
第二部分:编程题
4
、
Python L
1
6
并集
(
2
0
分)
题目名称:
并集
题目描述:
输入
两个
字符串
a和b,计算在a或b中至少出现过一次的不同字符的个数
。
例如:
a='ABCDE',b='BFG',在a或b中至少出现过一次的字符有A、B、C、D、E、F、G,个数是7。
输入:
第一行一个
字符串a
(
长度
在
100以内
)
;
第
二
行一个
字符串b
(
长度
在
100以内
)
。
输出:
一个正整数,为在a或b中至少出现过一次的不同字符的个数。
输入样例:
ABCDE
BFG
输出样例:
7
参考程序:
a = input()
b = input()
s1 = set(a)
s2 = set(b)
print(len(s1 | s2))
测试数据:
1.in
ABCDE
BFG
1.out
7
2.in
ERTYUA
WERT
2.out
7
3.in
121231227
12315
3.out
5
4.in
8909
12421
4.out
6
5.in
99856775
99856775
5.out
5
5
、Python L
1
6
集福卡
(
3
0分)
题目名称:
集福卡
题目描述:
每年春节,小蓝都会参加一种“集福卡”的活动
。每人
如能在开奖日期之前,收集齐5种不同名称的福卡,就可以参加奖金池的分享。
5种福卡分别用数字字符1~5表示,还有一种“万能福”,用字符X表示,一张万能福可以代替任何一张福卡,万能福使用
张
数不限。
用一个字符串表示小蓝收集到的全部福卡,请你帮他看看,他能不能参与奖金分享。
如果能参与奖金分享,输出“ok”;如果不能,忽略万能福,按从小到大顺序,输出还缺少哪些福卡。
例如:
如果小蓝收集到的全部福卡是12XX3221,可以参与奖金分享,两个
X分别代替4和5;
如果小蓝收集到的全部福卡是4XX1,不能参与奖金分享,缺少
2,3,5三种福卡。
输入:
一行一个字符串,只包含1、2、3、4、5、X这六种字符,长度不超过20。
输出:
如果能参与奖金分享,输出一个字符串“ok”(小写,不带引号);
否则
,按从小到大顺序,输出缺少的数字福卡代号。如缺少的不止一个,相邻两个数字之间用一个空格隔开。
输入样例1:
12XX3221
输出样例1:
ok
输入样例2:
4XX1
输出样例2:
2 3 5
参考程序:
s = input()
bon = s.count('X') #统计万能福的个数
p = set(s) #字符串转集合,去重
if bon > 0:
p.remove('X') #删除万能福,如果有的话
if len(p) >= 5 - bon: #还需要5-bon个其他福
print('
ok
')
else:
for i in range(1,6): #对不在集合中的元素按从小到大输出
if str(i) not in p:
print(i, end=' ')
测试数据:
1.in
12XX3221
1.out
ok
2.in
4XX1
2.out
2 3 5
3.in
4X321XX
3.out
ok
4.in
2115112
4.out
3 4
5.in
XXX21X
5.out
ok
蓝桥杯青少组Python组别16级编程练习真题(第1套,共8套)