第十四届蓝桥杯青少组选拔赛Python真题(2022年10月30日)

2023年06月02日

一、选择题

第 1 题 单选题

执行print(5%3)语句后,输出的结果是( )

A. 0

B. 1

C. 2

D. 3

第 2 题 单选题

以下选项中,哪一个是乘法运算符?( )

A. %

B. //

C. *

D. **

第 3 题 单选题

已知x=3,求x//2+x**2的运算结果?( )

A. 7.5

B. 10

C. 8

D. 10.5

第 4 题 单选题

以下选项中,对下面程序的打印结果描述正确的是( )。

a=[1,2,3,4]
i=len(a)-1
while i>=0:
	print(a[i])
	i-=1

A. 把列表a倒序打印出来

B. 把列表a顺序打印出来

C. 去除列表a的第一项后并依次打印出每一项

D. 去除列表a的最后一项后并依次打印出每一项

二、编程题

第 5 题 问答题

输入描述

输入一个字符串

输出描述

输出字符串中最后一个字符

样例输入

hgf

样例输出

f

第 6 题 问答题

编程实现

空调遥控器上的模式按钮可控制四种模式的切换。空调的初始模式为制热模式,第一次按下按钮变为制冷模式,第二次按下按钮变为睡眠模式,第三次按下按钮变为除湿模式,第四次按下按钮变为制热模式,第五次按下按钮变为制冷模式,以此类推。请计算出按下N次按钮后,空调为何种模式。

输入描述

输入一个正整数N(1<N<1000),表示按下空调遥控器的模式按钮的次数(初始模式为制热模式)

输出插述

输出一个大写字母,当按下模式按钮N次后,空调为制热模式则输出“R”,为制冷模式则输出“L”,为睡眠模式则输出“S”,为除湿模式则输出“C”

样例输入

5

样例输出

L

第 7 题 问答题

编程实现

小蓝有多张兑换券,这些兑换券可分为A、B、C三种,且1张A加1张B加1张C组合可以兑换一个玩偶。

现将所有兑换券排成一排,并以字符串的形式给出,请帮助小蓝计算出现有兑换券最多可以兑换几个玩偶。

例如:字符串为AABBCACCC,可以组成2组ABC,故最多可以兑换2个玩偶。

输入描述

输入一个由A、B、C三个大写字母组成的字符串(字符串长度小于1000),表示所有的兑换券

输出描述

输出一个整数,表示所有兑换券按照兑换要求最多可以兑换玩偶的数量

样例输入

AABBCACCC

样例输出

2

第 8 题 问答题

编程实现

现有N罐糖果,且已知每罐糖果的初始数量。现给出两个数值L和R(L<=R),需要把每罐糖果的数量调整为:L<=任意一罐糖果的数量<=R。

调整的方式是每次从其中一罐糖果中拿出1块放到其他糖果罐中。请你计算出最少调整几次才能使每罐糖果的数量都在L到R范围之间,如果不能将每罐糖果都调整到L到R范围之间则输出-1。

例如:N=2,2罐糖果的初始数量为3和8,L=3,R=6,通过调整使得:3<=任意一罐糖果的数量<=6,调整方式如下:

第一次从初始数量为8的罐中拿1块放到初始数量为3的罐中,调整后为(4,7);

第二次从数量为7的罐中拿1块放到数量为4的罐中,调整后为(5,6);

故最少调整2次。

样例输入

2
3 8
3 6

样例输出

2

第 9 题 问答题

编程实现

有一个N*M的矩阵,且矩阵中每个方格中都有一个整数(0<=整数≤100),小蓝需要按照以下要求从矩阵中找出一条最长的移动路线,且输出最长路线的长度(1个方格为1个长度)。

要求:

1.小蓝可以从矩阵中任意一个方格开始向它的上、下、左、右相邻的任意一个方格移动,且移动的路线不能有交叉;

2.小蓝每次所要移动到的方格中的整数都要小于当前所在方格中的整数(如当前所在的方格中的整数为3,那么可以移动到数字为0,1,2的格子里,不可以移动到数字为3,4,5 ... 的格子里);

例如:N=3,M=3,矩阵方格如下: