选择题 共5道

01 02 03 04 05


编程题 共6道

06 07 08 09 10 11

587 | 第13届蓝桥杯Python青少组_国赛_中/高级组_2022年5月29日真题-考试
选择题 共5道
01

已知:l = ['a','b','c','d','e','f','g'],执行print(l.pop(2), len(l))语句后,输出的结果是(   )。

2分
登录后查看选项
02

下列表达式中,返回True的是(  )。

2分
登录后查看选项
03

已知:d = {'lan':1,'qiao':2,'qing':3,'shao':4},执行print(d.pop(max(d.keys()), 0))语句后,输出的结果是(  )。

2分
登录后查看选项
04

以下关于函数描述正确的是(  )。

2分
登录后查看选项
05

关于对打开文件函数open(<文件路径名>,<打开模式>)中的打开模式描述正确是(  )。

2分
登录后查看选项
编程题 共6道
06

编程实现:

给定一个正整数N,然后将N中各数位上的数字相乘,并输出最后的乘积。

例如:N=132,各数位相乘后的乘积为6(6=1*3*2)

输入描述:

输入一个正整数N

输出描述:

将N中各数位上的数字相乘,并输出最后的乘积


样例输入:

132

样例输出:

6

2分
登录后作答
07

编程实现:

在一根电线上落有N只小鸟,有的小鸟头向左看,有的小鸟头向右看,且每只小鸟只能看到它视线前的那一只小鸟。

给定N只小鸟头的朝向,头向左看的小鸟使用小写字母“q”表示,头向右看的小鸟用小写字母“p”表示,请你计算出N只小鸟中有多少只小鸟被0只小鸟看到,多少只小鸟被1只小鸟看到,多少只小鸟被2只小鸟看到。 

例如:N=6,6只小鸟头的朝向分别为p,q,p,p,q,q。

如图:有2只小鸟被0只小鸟看到(第3只和第6只);有2只小鸟被1只小鸟看到(第1只和第2只);有2只小鸟同时被2只小鸟看到(第4只和第5只)。

则输出三个数字分别为2,2,2。

输入描述:

第一行输入一个正整数N(3≤N≤1000),表示有N只小鸟落在电线上

第二行输入N个字符,字符只能为“q”和“p”,“q”表示小鸟头向左看,“p”表示小鸟头向右看,字符之间以一个英文逗号隔开

输出描述:

一行输出三个整数,分别为有几只小鸟被0只小鸟看到;有几只小鸟被1只小鸟看到;有几只小鸟被2只小鸟看到;整数之间一个英文逗号隔开


样例输入:

6
p,q,p,p,q,q

样例输出:

2,2,2
2分
登录后作答
08

编程实现:

某班级男生人数为X人,女生人数为Y人,现全班同学围成一个圆圈,并按照顺时针方向为每名同学编号(编号从1到X+Y)。现给出一个正整数K【2<K<(X+Y)】,从编号为1的同学开始顺时针方向报数,报到K的同学退出圆圈,下一名同学继续从1报数,再次报到K的同学退出圆圈。如此循环,直到剩余人数为X时游戏结束。

请你计算出游戏开始时X名男生分别应该排在什么位置,才能保证每次离开的都是女生,游戏结束时剩余X人都是男生。并将游戏开始时每名男生的位置编号按照从小到大顺序输出。

例如:X=5,Y=3,K=3,8名同学按照如下顺序排列,可以使3轮报数过后最后剩余的5名同学都为男生(蓝色为男生位置,红色为女生位置)。

故5名男同学的编号分别为2,4,5,7,8。

输入描述:

输入三个正整数X,Y,K(3≤X≤100,3≤Y≤100,2<K<(X+Y)),X表示男生人数,Y表示女生人数,报数为K的同学退出圆圈,三个正整数之间以一个空格隔开

输出描述:

将每名男生位置编号按照从小到大的顺序输出,编号之间以一个空格隔开

 

样例输入:

5 3 3

样例输出:

2 4 5 7 8
2分
登录后作答
09

编程实现:

老师要奖励N名成绩优秀的同学,首先N名同学按随机顺序排成一排,且每名同学都对应一个成绩(成绩各不相同),然后按照如下规则进行奖励。

规则:

1)每名同学至少奖励1支铅笔;

2)每一名同学拿到铅笔后,都会和左右相邻的同学作比较,如果相邻的同学成绩比自己高,那么铅笔数也一定比自己多,如果相邻的同学成绩比自己低,那么铅笔数一定比自己少。(注意每个人成绩都不同) 

当给出要奖励的同学数N,及N名同学的成绩及排序位置,请你按照规则帮助老师计算出最少需要奖励多少支铅笔。

例如:

当N=3,3名同学的成绩分别为:91,92,94

如果3名同学的排序为:91,94,92,最少需要奖励4支铅笔(成绩为91的同学1支,成绩为94的同学2支,成绩为92的同学1支);

如果3名同学的排序为:91,92,94,最少需要奖励6支铅笔(成绩为91的同学1支,成绩为92的同学2支,成绩为94的同学3支)。

输入描述:

第一行输入一个正整数N,N表示要奖励的同学数

第二行输入N个正整数,每个正整数表示一名同学的成绩(成绩各不相同),正整数之间以一个英文逗号隔开,正整数的顺序即代表学生的排序 

输出描述:

输出一个整数,表示N名同学最少需要奖励的铅笔数


样例输入:

3
91,94,92

样例输出:

4
2分
登录后作答
10

编程实现:

小蓝在玩翻卡片游戏,每张卡片一面写着大写字母“A”,另一面写着大写字母“B”。首先将卡片排成一个N*N的矩阵。有的卡片是A面朝上,有的卡片是B面朝上。

现给定N的值,及N*N矩阵中每张卡片的状态,请你帮助小蓝挑选一张B面的卡,翻转成A面,使得翻转后的上、下、左、右四个方向相连的A面卡片最多,并将相连最多的卡片数量输出。

例如:N=3,3*3的矩阵中的卡片状态如下:

选择红框内那张B面卡片,翻转为A面,可以使翻转后四个方向相连的A面卡片最多,为5张。

输入描述:

第一行输入一个正整数N(2≤N≤50),表示矩阵的行数和列数

第二行开始输入N行,每行输入N个字符(‘A’或者‘B’),表示矩阵中卡片状态,字符之间以一个英文逗号隔开 

输出描述:

输出一个整数,表示翻转后矩阵中上、下、左、右四个方向相连的最多A面卡片张数


样例输入:

3
A,B,B
A,B,A
B,A,B

样例输出:

5
2分
登录后作答
11

编程实现:

给出一排黑色带数字的小球(数字为0到9),和一排白色带数字的小球(数字为0到9),现从两排小球中一共选取K个小球排成一排。

要求:

1)选出的黑色小球顺序要和原来顺序一致;

2)选出的白色小球顺序要和原来顺序一致;

在满足以上要求的情况下,使得K个小球排成新的一排组成的数字最大

例如:

黑色小球的原顺序为:

白色小球的原顺序为:

K为3;

从两排小球中共选取3个小球,排成

可以组成的最大数字为654。

输入描述:

第一行输入一组正整数,代表黑色小球,每个正整数范围为0到9,正整数之间以一个英文逗号隔开

第二行输入一组正整数,代表白色小球,每个正整数范围为0到9,正整数之间以一个英文逗号隔开

第三行输入一个正整数K(K小于等于所有小球的总数),表示从所有小球中共选取K个小球

输出描述:

输出一个整数,表示按照要求选取K个小球后,组成的最大数字

 

样例输入:

2,5,3
6,2,4,1
3

样例输出:

654
2分
登录后作答