蓝桥等考Python组别
十三
级
第一部分:选择题
1、Python L
13
(15分)
运行下面程序,输出的结果是( )。
t = (
0, 10, 20, 30
)
print(t.
index
(
30
))
0
1
3
不输出任何内容
正确答案:C
2
、Python L
13
(
15
分)
运行下面程序,
输出的结果是( )。
t = tuple(range(
6
))
print(t)
(0, 1, 2, 3
, 4, 5
)
(0, 1, 2, 3, 4
, 5, 6
)
[0, 1, 2, 3
, 4, 5
]
[0, 1, 2, 3, 4
, 5, 6
]
正确答案:
A
3、Python L
13
(20分)
已知元组t的定义如下:
t = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')
下面哪个说法是正确的?( )
t[
3
]可以获取元素Fri
t[-
1
]
可以获取
元素
Tue
len(t)的值是
7
'
Mon
'
in t的值是
False
正确答案:
C
第二部分:编程题
4、Python L
13
奇数元素和
(
2
0分)
题目名称:
奇数元素和
题目描述:
在一行输入
几个正
整数,
用这几个正整数建立
一个列表,
输出
列表中所有
奇数元素之和
。
输入:
一行,按字符串形式输入若干个正整数(数量
大于3
),相邻两个正整数用一个空格分隔。
提示:
s = input()
#输入一个字符串,赋值给s
a = s.split(' ') #
将字符串s按空格拆分,保存到列表
a中
lis = [int(i) for i in a]
#
将列表a的元素转换成整数,保存到列表lis
中
输出:
一个整数,表示建立的列表中,
所有
奇数元素之和。
输入样例:
2 5 1 4
输出样例:
6
参考程序:
s = input()
a = s.split(' ')
lis = [int(i) for i in a if int(i) % 2 ==
1
]
print(sum(lis))
测试数据:
1.in
1 5 2 7
1.out
13
2.in
2 1 4 5 8
2.out
6
3.in
9 7 10 13 78 2
3.out
29
4.in
1 4 9 2 10 3
4.out
13
5.in
13 2 19 23 20 5
5.out
60
5
、Python L
1
3
猫和老鼠
(
3
0分)
题目名称:
猫和老鼠
题目描述:
猫在吃掉捉来的老鼠之前,喜欢先和老鼠们做一个游戏。
这一天,猫捉了n只老鼠。猫命令老鼠们站成一排,将老鼠按1,2,……,n编号,随意给它们发一定数量的米粒。
接下来,猫要求老鼠按编号顺序依次结算。每只老鼠,除非交给猫X个米粒,否则立刻被猫吃掉,X是上一只老鼠交给猫的米粒数+1。如果没有上一只老鼠或者上一只老鼠被吃掉,那么X=1。
任何老鼠都不能把自己的米粒交给其他老鼠。
最后一只老鼠结算完毕后,游戏结束。
输入老鼠的数量n和每只老鼠起初得到的米粒数,输出将会被吃掉的老鼠的数量。
例如:
猫捉了5只老鼠,老鼠初始的米粒数量分别是2、4、1、2、2。
第1只老鼠,交给猫1个米粒,因为没有上一只老鼠,起初X=1;
第2只老鼠,交给猫2个米粒;
第3只老鼠,需要交给猫3个米粒,它做不到,被猫吃掉;
第4只老鼠,交给猫1个米粒,因为上一只老鼠被吃掉,X从1重新算起;
第5只老鼠,交给猫2个米粒。
上例中,有1只老鼠被猫吃掉。
输入:
第一行一个正整数n(2<=n<=40),表示老鼠的数量;
第二行,按字符串形式输入
n
个正整数(大小在
1~10范围内
),相邻两个正整数用一个空格分隔,
依次表示每只老鼠起初得到的米粒数量。
提示:
s = input()
#输入一个字符串,赋值给s
a = s.split(' ') #
将字符串s按空格拆分,保存到列表
a中
lis = [int(i) for i in a]
#
将列表a的元素转换成整数,保存到列表lis
中
输出:
一个整数,为将会被猫吃掉的老鼠的数量。
输入样例:
5
2 4 1 2 2
输出样例:
1
参考程序
1
:
n = int(input())
s = input()
a = s.split()
ans = 0 #记录吃掉老鼠的数量
x = 1
for i in range(n):
#i是1~n-1,i+1是老鼠编号
if int(a[i]) < x: #第i+1只老鼠的米粒数不够
ans += 1 #被猫吃掉
x = 1 #x从1开始重新计算
else:
x += 1
print(ans)
参考程序
2
:
n = int(input())
lis = input().split(" ")
lisN = [int(i) for i in lis]
count = 0
p = 0
for i in range(n):
p += 1
if lisN[i] < p:
count += 1
p = 0
print(count)
测试数据:
1.in
5
2 4 1 2 2
1.out
1
2.in
8
8 6 8 4 3 9 4 5
2.out
1
3.in
13
10 3 3 5 3 2 3 9 2 5 4 7 8
3.out
2
4.in
18
4 6 5 7 4 6 7 1 7 4 1 10 5 9 7 6 9 4
4.out
4
5.in
25
10 8 1 6 6 1 4 7 10 3 2 8 9 3 8 9 7 4 8 3 2 4 10 6 9
5.out
5
蓝桥杯青少组Python组别13级编程练习真题(第7套,共8套)