2025年第十六届蓝桥杯青少组省赛 Python编程 中级组真题
剩余时间 --:--:--
单选题 共 5 题
1.

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

a, b, c = 1, 2, 3
print(a + b + c)
2.

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

a = {2, 3, 1, 4}
b = {1, 2, 3, 4}
print(a <= b)
3.
下列选项中,( )可以作为 Python 中的合法变量名。
4.

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

ans = 0
for i in range(6):
    for j in range(i):
        ans += j
        print(ans)


5.
以下关于Python 3的描述,错误的是(  )。
问答题 共 6 题
1.

鸡蛋包装问题

问题描述

农场包装鸡蛋,每盒鸡蛋标准装 30 个。现在有一盒正在包装的鸡蛋,已装入 n 个(1 ≤ n ≤30)。请计算要装满这一盒,还需要再装入多少个鸡蛋?

示例

输入:21

输出:9

解释:已装 21 个,还需装入 30 - 21 = 9 个。

输入格式

一个整数 n(1 ≤ n ≤30),表示这盒鸡蛋已装的个数。

输出格式

一个整数,表示还需要装入的鸡蛋个数。

提示

本题共有 10 组测试用例,每通过一组用例得 2 分。输入函数的括号中不允许添加任何提示信息(如 Input() 应直接使用)。

2.

单词记录问题

问题描述

小刘正在使用电脑记录单词,他的记录方式是:对于每个给定的单词,只记录该单词的 第一个字母 和单词的 字母数量。现在给定一个单词,按照小刘的记录方式,输出单词的记录结果。

示例输入:

succeed

输出:

s

7

解释:第一个字母是 s,单词长度为 7。

输入格式一个只包含 小写英文字母 的字符串(2 ≤ 字符串长度 ≤ 20),表示给定的单词。

输出格式

第一行输出一个字母,表示单词的第一个字母。

第二行输出一个整数,表示单词的字母数量。

提示

本题共有 10 组测试用例,每通过一组用例得 4 分。

输入函数的括号中不允许添加任何提示信息(如 input() 应直接使用)。

3.

珠子号码问题

问题描述

给定一个由重复序列组成的珠子串,每组珠子的号码依次为:1、2、3、4、5、6、7、8、9、10、11、10、9、8、7、6、5、4、3、2、1。共 21 颗珠子为一组,总共有 50 组这样的珠子串在一起。

输入格式

一个整数 n (1 ≤n ≤1050)

输出格式

一个整数,表示第 n 颗珠子对应的号码

示例

输入:

12

输出:

10

注意事项

输入函数不允许添加任何提示信息。本题共有 10 组测试用例,每组通过得 4 分。

4.

昆虫变换问题

问题描述

有 n 只昆虫排成一排,每只昆虫为萤火虫(用 0 表示)或蜜蜂(用 1 表示)。魔术师每次操作可以将一只萤火虫变为蜜蜂,或将一只蜜蜂变为萤火虫。目标是让所有相邻昆虫的种类都不相同,求最少需要的操作次数。

输入格式

第一行:一个整数 n(2 ≤ n ≤ 1000),表示昆虫数量。

第二行:n 个整数(0 或 1),表示初始排列,数字间用空格隔开。

输出格式

一个整数,表示最少需要的操作次数。

样例

输入

6

0 1 1 0 0 1

输出

2

解释

将第 2 只变为 0,第 4 只变为 1,即可满足相邻昆虫不同。此时排列变为 0 0 1 1 0 1,但这似乎仍有相邻相同的情况。正确的修改应该是将第 3 只变为 0,第 4 只变为 1,得到 0 1 0 1 0 1,这样所有相邻昆虫都不同,操作次数为 2。

提示

本题共有 10 组测试用例,每通过一组得 6 分。


5.

拼图拼接问题

题目描述

小利准备将 n 块拼图从左到右进行拼接,每块拼图原本为大小一致的正方形卡片,每条边都做了改变,共有 8 种不同的边,使用编号 1 - 8 表示。每块拼图使用其 上、右、下、左 四条边的编号来表示。

例如,下面两块拼图共有 8 种不同的边,左边的拼图用 1234 表示,右边的拼图用 5678 表示:

拼图规则

1. 在拼图中:

• 1 号边只能与 8 号边拼接

• 2 号边只能与 7 号边拼接

• 3 号边只能与 6 号边拼接

• 4 号边只能与 5 号边拼接

2. 你可以将每块拼图顺时针旋转 0 度、90 度、180 度、270 度来进行拼图(不能翻转到另一面进行拼图)。例如,同一块拼图旋转不同度数时的效果如下图所示:

• 旋转 0 度:上边为 1,右边为 2,下边为 3,左边为 4

• 旋转 90 度:上边为 4,右边为 1,下边为 2,左边为 3

• 旋转 180 度:上边为 3,右边为 4,下边为 1,左边为 2

• 旋转 270 度:上边为 2,右边为 3,下边为 4,左边为 1

3. 除第一块拼图外,下一块拼图只能拼在已拼接拼图的最右边。

注:

在各种拼法中,只要有任意一个相同位置上的拼图不一致,或拼图相同但旋转的方向不一致,都算不同的拼法。

本题中,n 块拼图是不同的,不存在以下两种情况:

1. 同一块拼图,旋转 90 度、180 度、270 度后,不会出现与 0 度相同的情况。

2. 任意两块拼图,不会出现其中一块拼图旋转后与另一块相同。

例如:n = 3;3 块拼图分别是 4524、6134、3872,如下图所示:

一共有 4 种不同的拼法,如下图所示:

输入描述

1. 第一行输入一个整数 n(2 ≤ n ≤ 8),表示拼图的块数;

2. 第二行输入 n 个长度为 4 的字符串,字符串仅包含数字 1 - 8,字符串之间以一个空格隔开,每个字符串从左至右的 4 个数字依次表示该块拼图 上、右、下、左 四条边的编号。

输出描述

输出一个整数,表示多少种不同的拼法。

输入样例

3

4524 6134 3872

输出样例

4

提示

本题 10 组测试用例,每通过一题得 8 分。


6.

砖块消除问题

有一个砖块消消乐游戏,游戏画面由 n 列砖组成,每列都有若干块砖,每块砖都是 1×1 的正方形且砖块之间排列整齐(每块砖的厚度及砖块之间的缝隙忽略不计)。

玩家每次可以按照以下要求,选定一个矩形区域,将该矩形区域的所有砖块消除:

  1. 该矩形区域内每块砖都是完整的,即不能选定某块砖的一部分。例如:可以选择下方左图中的矩形区域(绿色框),不可以选定下方右图中的矩形区域(红色框)。


2. 该矩形区域内不能有空白部分。例如:不可以选定下图中的矩形区域(红色框)。

给定砖的列数 n,以及从左至右每列砖的砖块数量,请计算消除完所有砖块最少需要选定多少次矩形区域。

例如:n = 3;从左至右列砖的砖块数量分别是 2、3、2,将所有砖块全部消除最少需要选定 2 次。 

第 1 次,选定绿色框的矩形区域,将 6 块砖消除,剩余 1 块砖;

第 2 次,选定剩余的 1 块砖并消除。 

输入描述

1. 第一行输入一个整数 n(1 ≤ n ≤ 1e5),表示有多少列砖;

2. 第二行输入 n 个整数(1 ≤ 整数 ≤ 100),分别表示从左至右每列砖的砖块数量,整数之间以一个空格隔开。

输出描述

输出一个整数,表示消除完所有砖块最少需要选定多少次矩形区域。

示例

输入:

3

2 3 2

输出:

2

提示

本题共 10 组测试用例,每通过一组用例得 10 分。


C++ 编辑器
输入
输出