202506(第16届)蓝桥杯Python编程青少组(选拔赛_中/高级)真题 建议答题时长:60min
1. 单选题

下列选项中,( )是除法运算符?

A

+

B

-

C

*

D

/

2. 单选题

定义变量 a 如下,a 的数据类型是?( )

a = 9999

A

整数

B

字符串

C

列表

D

元组

3. 单选题

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

print("chick" "eggs" == "chickeggs")

A

报错

B

"chick" False

C

True

D

False

4. 单选题

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

def fun(n):
    lis = []
    m = 2
    while n > 1:
        while n % m == 0:
            lis.append(m)
            n //= m
        m += 1
    return lis
print(sum(fun(6300)))

A

7

B

20

C

27

D

34

5. 单选题

以下关于 Python 的描述,【错误】的是?( )

A

常量 None 和 False 在逻辑值中被定义为假值

B

pow(0, 0) 和 0 ** 0 的值都定义为 1

C

list、tuple 和 range 对象是 Python 的三种序列类型

D

1、1.0、True 可在同一个字典中作为不同的键

6. 编程题

编程实现:乐乐在今天 h1 点 m1 分进入图书馆,今天 h2 点 m2 分离开图书馆(时间均为 24 小时制),请计算乐乐在图书馆一共待了多少分钟。

例如:h1 = 8,m1 = 30,h2 = 9,m2 = 40;乐乐 8 点 30 分进入图书馆,9 点 40 分离开图书馆,乐乐在图书馆一共待了 70 分钟。

输入描述:

第一行输入一个整数 h1(6≤h1≤21),表示乐乐 h1 点进入图书馆;

第二行输入一个整数 m1(0≤m1≤59),表示乐乐 m1 分进入图书馆;

第三行输入一个整数 h2(h1<h2≤22),表示乐乐 h2 点离开图书馆;

第四行输入一个整数 m2(0≤m2≤59),表示乐乐 m2 分离开图书馆。

输出描述:

输出一个整数,表示乐乐在图书馆一共待了多少分钟。

 

样例输入:

8
30
9
40

样例输出:

70

查看答案
7. 编程题

编程实现:将 1~1000 的整数从 1 开始,以每 5 个数为一组排列到 200 行 6 列的网格中,规律如下图所示:

给定一个整数 n,请计算 n 在多少行多少列。

例如:n = 16;16 在第 4 行第 6 列。

输入描述:

输入一个整数 n(1≤n≤1000)。

输出描述:

第一行输出一个整数,表示 n 所在行号;

第二行输出一个整数,表示 n 所在列号。

 

样例输入:

16

样例输出:

4
6

查看答案
8. 编程题

编程实现:淘淘将一张长方形纸条均匀的划分成了 n 个大小一致的方格。有些方格为白色,有些方格为黑色。

淘淘想让长方形纸条左右对折后,使得重合部分颜色相同。由于淘淘只有黑色的笔,请计算淘淘最少还需要将多少个方格涂成黑色。

例如:n = 7;长方形纸条被划分成了 7 个方格,各方格颜色如下:

如果将该纸条沿着红线左右对折后,第 1 个方格会与第 7 个方格重合,第 2 个方格会与第 6 个方格重合,第 3 个方格会与第 5 个方格重合,第 4 个方格会与它自身重合。

重合的部分中,第 1 个是黑色方格、第 7 个是白色方格,需要将第 7 个白色方格涂成黑色;

第 2 个是白色方格、第 6 个是黑色方格,需要将第 2 个白色方格涂成黑色;

淘淘最少还需要将 2 个方格涂成黑色。

输入描述:

第一行输入一个整数 n(1≤n≤1000),表示长方形纸条被划分成的方格数量;

第二行输入 n 个整数,整数为 0 或 1,0 表示白色方格,1 表示黑色方格,整数从左到右分别表示方格的颜色情况,整数之间以一个空格隔开。

输出描述:

输出一个整数,表示淘淘最少还需要将多少个方格涂成黑色。

 

样例输入:

7
1 0 0 1 0 1 0

样例输出:

2

查看答案
9. 编程题

编程实现:

Adam 和 Bob 在玩一种卡片接龙的游戏,他们各自有 n 张卡片,每张卡片写了一个号码,桌上还有一张写了号码 m 的卡片,他们会尽可能将手中的卡片进行接龙,游戏规则如下:

(1)由 Adam 开始,双方轮流接龙;

(2)接龙一方每次可以放置一张卡片到桌上,这张卡片必须比桌上的最小号码小 1,或者比桌上的最大号码大1,重复这个过程直到没有可以放置的卡片,然后轮到另一方接龙;

(3)胜负判定:

    (3.1)如果一方率先将手中的卡片全部放置(手中的卡片数量为 0),则这一方获得胜利;

    (3.2)如果双方都还有卡片,且都不能再放置卡片,则手中卡片较少的一方获得胜利;如果卡片数量相等,则平局。

给定 Adam 和 Bob 各自的卡片数量 n,以及双方的卡片号码,桌上的卡片号码 m。请计算出接龙游戏胜利方的名字和他手中剩余卡片的数量,如果平局,则输出 Draw 和 -1。

例如:n = 4;Adam 手中 4 张卡片的号码是 5、7、9、2;Bob 手中 4 张卡片的号码是 3、6、10、4;

m = 8,桌上卡片的号码是 8,初始由 Adam 开始,接龙情况如下:

(1)Adam 手中有比桌上最小号码 8 小 1 的卡片 7,将卡片 7 放置到桌上,手中还有比桌上最大号码 8 大 1的卡片 9,将卡片 9 放置到桌上,此时手中还有卡片 5、2,没有符合接龙的卡片,轮到 Bob;

(2)Bob 手中有比桌上最小号码 7 小 1 的卡片 6,将卡片 6 放置到桌上,手中还有比桌上最大号码 9 大 1的卡片 10,将卡片 10 放置到桌上,此时手中还有卡片 3、4,没有符合接龙的卡片,轮到 Adam;

(3)Adam 手中有比桌上最小号码 6 小 1 的卡片 5,将卡片 5 放置到桌上,此时手中还有卡片 2,没有符合接龙的卡片,轮到 Bob;

(4)Bob 手中有比桌上最小号码 5 小 1 的卡片 4,将卡片 4 放置到桌上,手中还有比桌上最小号码 4 小 1的卡片 3,将卡片 3 放置到桌上,此时手中卡片数量为 0,Bob 胜利。

输出 Bob 和 0。

输入描述:

第一行输入一个整数 n(2≤n≤1000),表示 Adam 和 Bob 的卡片数量;

第二行输入 n 个整数(1≤整数≤2000),表示 Adam 手中卡片的号码,整数之间以一个空格隔开;

第三行输入 n 个整数(1≤整数≤2000),表示 Bob 手中卡片的号码,整数之间以一个空格隔开;

第四行输入一个整数 m(1≤m≤2000),表示初始桌上的卡片号码。

输出描述:

第一行输出一个字符串,表示胜利方的名字,如果平局,则输出 Draw;

第二行输出一个整数,表示胜利方手中剩余卡片的数量,如果平局,则输出 -1。

 

样例输入:

4
5 7 9 2
3 6 10 4
8

样例输出:

Bob
0

查看答案
10. 编程题

编程实现:有无限个格子从左到右依次排开,编号依次是 0、1、2、3、4、5、6、7、8、9、10......;

金钱鼠初始在 0号格子,除 0 号格子外,其余每个格子都有金瓜子,从 1 号格子开始,每个格子的金瓜子数量分别是 1、2、3、4、5、1、2、3、4、5......,以此类推。

给定一个整数 n,以及 n 个不同的整数,金钱鼠只能向右跳跃 n 次,每次从 n 个不同整数中选一个作为此次向右跳的格子数,每个整数只能选一次。金钱鼠会收集跳跃到的格子中的金瓜子,请合理选择整数的顺序并计算金钱鼠最多能收集多少颗金瓜子。

例如:n = 3;3 个不同的整数是 1、3、6,金钱鼠按以下顺序选择跳跃的格子数,来收集最多的金瓜子:

第一次跳跃,选择整数 3,向右跳 3 格,收集 3 颗金瓜子;

第二次跳跃,选择整数 1,向右跳 1 格,收集 4 颗金瓜子,目前收集了 7 颗金瓜子;

第三次跳跃,选择整数 6,向右跳 6 格,收集 5 颗金瓜子,目前收集了 12 颗金瓜子;

金钱鼠最多收集 12 颗金瓜子。

输入描述:

第一行输入一个整数 n(1≤n≤9),表示金钱鼠跳跃的次数;

第二行输入 n 个不同的整数(1≤n≤100),表示金钱鼠可以选择跳的格子数,整数之间以一个空格隔开。

输出描述:

输出一个整数,表示金钱鼠最多可以收集的金瓜子数。

 

样例输入:

3
1 3 6

样例输出:

12

查看答案
试题目录
单选题
1 2 3 4 5
编程题
6 7 8 9 10
赣ICP备20007335号-2