蓝桥等考Python组别十六级007

第一部分:选择题

1、Python L16 (15分)

a和b是两个集合,a|b表示a和b的(    )。

  1. 交集
  2. 并集
  3. 子集
  4. 差集

正确答案:B

2、Python L16 15分)

运行下面程序,输出的结果是(    )。

s = set([5, 1, 5, 5, 1, 2])

print(len(s))

  1. 3
  2. 4
  3. 5
  4. 6

正确答案:A

3、Python L16 (20分)

运行下面程序,输出的结果是(    )。

s = set([2, 1, 3, 1, 1, 2])

print(sorted(s))

  1. [1, 1, 1, 2, 2, 3]
  2. [3, 2, 2, 1, 1, 1]
  3. [1, 2, 3]
  4. [3, 2, 1]

正确答案:C

第二部分:编程题

4Python L16 没出现的数字个数20分)

题目名称:没出现的数字个数

题目描述:

输入一个由数字0~9组成的字符串a,计算在a中没出现过的数字的个数。

例如:

a='1239721',a中出现了“1”,“2”,“3”,“7”,“9”,没出现过的数字还有“0”,“4”,“5”,“6”,“8”,共5个。

输入:

一个由数字0~9组成的字符串a,长度在100以内。

输出:

一个正整数,为在a中没出现过的数字的个数。

输入样例:

1239721

输出样例:

5

参考程序:

a = input()

s = set(a)

print(10 - len(s))

测试数据:

1.in

1239721

1.out

5

2.in

1121212

2.out

8

3.in

4353252456

3.out

5

4.in

0123456789

4.out

0

5.in

98746900

5.out

4

5、Python L16 区间合并30分)

题目名称:区间合并

题目描述:

由符合a<=x<=b的数所构成的集合,我们把它称为一个“区间”。它包含了a、b,还有a和b之间的所有正整数。

输入n个区间的起始位置和结束位置,输出这些区间包含的不同整数的个数。

输入:

第一行一个正整数n(1<=n<=100),表示区间的个数;

后面n行,每行两个正整数a,b(1<=a<=b<=100),a是每个区间的起始位置,b是结束位置。

输出:

一个整数,表示这些区间包含的不同整数的个数。

输入样例1:

2

1 4

4 5

输出样例1:

5

参考程序1

n = int(input())

s = set()

for i in range(n):

    a, b = [int(k) for k in input().split(' ')]

    for j in range(a, b + 1):

        s.add(j)

print(len(s))

参考程序2

p = [0] * 100

n = int(input())

for i in range(n):

    a, b = [int(k) for k in input().split(' ')]

    for j in range(a, b + 1):

        p[j] = 1

print(p.count(1))

测试数据:

1.in

2

1 13

9 11

1.out

13

2.in

3

7 10

9 12

7 16

2.out

10

3.in

3

5 14

9 20

6 12

3.out

16

4.in

4

8 12

6 8

6 12

10 11

4.out

7

5.in

5

9 11

9 15

9 20

7 17

10 10

5.out

14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星卯教育tony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值