蓝桥等考Python组别
十二
级
第一部分:选择题
1、Python L
12
(15分)
运行下面程序,输出的结果是( )。
lis
= [1, 2, 3, 4, 5, 6, 7, 8]
print(
lis
[
1
:
3
])
[
2
,
3
]
[
3
,
4
]
[
2
,
3, 4
]
[
1
,
2
,
3, 4
]
正确答案:
A
2
、Python L
12
(
15
分)
运行下面程序,输出的结果是( )。
lis
= [1, 3, 5, 7, 9]
del
lis
[
2
]
print(
lis
)
[
1,
5, 7, 9]
[1,
3, 5
, 9]
[1,
3, 7
, 9]
[1, 9]
正确答案:
C
3、Python L
12
(20分)
运行
下面
程序,输出的结果是
( )。
lis
= [[
3
,
0
], [
5
,
6
]]
print(
lis
[
0
][1])
6
5
0
3
正确答案:
C
第二部分:编程题
4、Python L
12
列表部分元素求和
(
2
0分)
题目名称:
列表部分元素求和
题目描述:
在一行输入
几个正
整数,
用这几个正整数建立
一个列表,
输出
列表中,所有
索引是奇数的
元素的和。
输入:
一行,按字符串形式输入若干个正整数(数量
大于3
),相邻两个正整数用一个空格分隔。
提示:
s = input()
#输入一个字符串,赋值给s
a = s.split(' ') #
将字符串s按空格拆分,保存到列表
a中
lis = [int(i) for i in a]
#
将列表a的元素转换成整数,保存到列表lis
中
输出:
一个整数,表示建立的列表中,
所有
索引是奇数的
元素的和
。
输入样例:
1 2 3 4
输出样例:
6
参考程序:
s = input()
a = s.split(' ')
lis = [int(i) for i in a]
print(sum(lis[1 : : 2]))
测试数据:
1.in
1 2 3 4
1.out
6
2.in
1 2 3 2 3 6 9
2.out
10
3.in
1 2 4 7 4
3.out
9
4.in
5 3 8 2
4.out
5
5.in
5 3 3 8 9 22 14 20
5.out
53
5
、Python L
1
2
窗外的树
(
3
0分)
题目名称:
窗外的树
题目描述:
在一条长20米的路上,每隔1米有1个树坑,其中n个树坑里种着树(1<=n<=21,每个树坑只能种一棵树)。
每个树坑都有一个编号,编号从左到右依次为0,1,2,……,20。
下图的例子中,编号为0,2,5,6,11,13,15,16,20的树坑都种着树。
小蓝站在窗口,用望远镜观察这些树。在望远镜的视窗内,小蓝只能同时看见4个连续的完整树坑,以及这些树坑里种的树。
给出n棵树对应的树坑位置,请你算一算,小蓝用望远镜最多能同时看见几棵树?
在上图的例子里,某一瞬间,望远镜的视窗内出现树坑13~16,有3棵树,如下图所示。其余任何时候看到的树都不会超过3棵。
输入:
第一行一个正整数,为马路上树的数量
n(1<=n<=21);
第二行,按从小到大的顺序,以字符串形式输入
n
个
不相同的
整数(大小在
0~20范围内
),相邻两个整数用一个空格分隔,表示每棵树的位置。
提示:
s = input()
#输入一个字符串,赋值给s
a = s.split(' ') #
将字符串s按空格拆分,保存到列表
a中
lis = [int(i) for i in a]
#
将列表a的元素转换成整数,保存到列表lis
中
输出:
一个正整数,
表示小蓝用望远镜能同时看见的树的最大
数量。
输入样例:
9
0 2 5 6 11 13 15 16 20
输出样例:
3
参考程序
1
:
n = int(input())
s = input()
a = s.split(' ')
b = [0] * 21
#列表b描述每个树坑树的情况,有树是1,没树是0
for i in a:
b[int(i)] = 1
#几号树坑有树,就给b列表的第几项赋值为1
ans = 0
for i in range(18): #取长度为4的切片,第一个是b[0:4],最后一个是b[17:21]
ans = max(ans, sum(b[i : i + 4])) #求切片和,打擂台求最大
print(ans)
参考程序
2
:
n = int(input())
s = input()
a = s.split(' ')
lis = [int(i) for i in a]
ans = 0
for i in range(n):
#对于每一棵树,计算以它开头的连续4个树坑里有几棵树
j = i
while j < n and lis[j] - lis[i] < 4:
j += 1
ans = max(ans, j - i)
print(ans)
测试数据:
1.in
9
0 2 5 6 11 13 15 16 20
1.out
3
2.in
5
9 16 17 18 20
2.out
3
3.in
7
1 6 10 12 14 19 20
3.out
2
4.in
10
1 4 5 7 8 13 14 15 16 17
4.out
4
5.in
13
1 2 3 4 6 8 9 10 11 17 18 19 20
5.out
4
蓝桥杯青少组Python组别12级编程练习真题(第3套,共8套)