万卷网> 蓝桥竞赛 >蓝桥Python > 2023年5月蓝桥杯蓝桥Python(国赛)中级

2023年5月蓝桥杯蓝桥Python(国赛)中级
国赛 2023 2023-06-06 14:37:25 34

一、单选题

1.

下列函数中哪一个可以删除集合中指定的元素?()

A.

clear()

B.

discard()

C.

union()

D.

issubset()

2.

关于Python中的全局变量和局部变量,以下选项描述错误的是()

A.

全局变量不可以被函数内部的代码块修改

B.

全局变量在函数之外一般没有缩进,在程序执行全过程有效

C.

全局变量是指在函数之外定义的变量,而局部变量是指在函数内部定义的变量

D.

局部变量和全局变量可以共存,但如果局部变量和全局变量的名称相同,局部变量会覆盖全局变量

3.

以下选项中,哪一个可以更好地描述Python中类方法和静态方法之间的区别?()

A.

类方法只能由类调用,而静态方法只能由实例调用

B.

类方法可以访问类和实例的属性和方法,而静态方法不能访问

C.

类方法必须要有一个参数,而静态方法可以没有参数

D.

类方法只能访问类的属性和方法,而静态方法只能访问实例的属性和方法

4.

以下选项中,哪一个可以将字典dict1与字典dict2合并?()

A.

dict1.add(dict2)

B.

dict1.extend(dict2)

C.

dict1.update(dict2)

D.

dict1.merge(dict2)

5.

执行print("{1}{0}".format("Hello","Python","!"))语句后,输出的结果是()。

A.

HelloPython!

B.

PythonHello!

C.

HelloPython

D.

PythonHello

二、编程题

1.

题目描述:

小蓝从公司出发,要去拜访N(3≤N≤15)个客户,已知公司到每个客户的路程时间,及N个客户之间的路程时间。请计算出小蓝拜访完所有客户并返回到公司,最少需要多少时间。(道路双向通行,可重复走)

例如:N = 3,有3个客户需要拜访,公司到1号、2号、3号客户的路程时间依次为9,7,5,客户1到客户2和客户3的路程时间依次是4,6,客户2到客户3的路程时间是3。

从公司出发拜访完3名客户并返回公司最少需要的路程时间为21,行走路线为:公司 --> 3号 --> 2号 --> 1号--> 公司(21=5+3+4+9)。

【输入描述】

1)第一行输入一个正整数N(3≤N≤15),表示要拜访的客户数量

2)第二行输入N个正整数(1≤正整数≤1000),依次表示公司到1号~N号客户的路程时间,正整数之间以一个空格隔开

3)第三行输入N-1个正整数(1≤正整数≤1000),依次表示1号客户到2号~N号客户的路程时间,正整数之间以一个空格隔开

4)第四行输入N-2个正整数(1≤正整数≤1000),依次表示2号客户到3号~N号客户的路程时间,正整数之间以一个空格隔开

......

第N+1行输入一个正整数(1≤正整数≤1000),表示N-1号客户到N号客户的路程时间

【输出描述】

输出一个整数,表示小蓝拜访完N名客户并返回公司最少需要的路程时间


【样例输入】

3
9 7 5
4 6
3

【样例输出】

21


2.

题目描述:

例如:S ="1Abb",其中字母有A,b,b一共有3个。给定一个字符串S(S长度<100),统计字符串中字母一共有多少个。

【输入描述】

输入一个字符串S(S长度<100)

【输出描述】

输出一个整数,表示字符串S中字母的个数


【样例输入】

1Abb

【样例输出】

3
3.

题目描述:

某公司有多间会议室,可使用时间为8点到22点,同一会议室同一时间段只能由一个部门使用。

一天有N(1<=N<=50)个部门计划使用同一间会议室,且已知每个部门计划使用的开始时间S(8<=S<=21)和结束时间E(S<E<=22)。请计算出这间会议室最多可以安排多少个部门使用。

例如:N = 3,3个部门计划使用的开始及结束时间依次为(9,12),(10,15),(15,20)。

10~12点的时间段,部门1和部门2都计划使用,所以只能由一个部门使用;15~20点的时间段,只有部门3计划使用,所以这间会议室最多可以安排2个部门使用(部门1和部门3或者部门2和部门3)。

【输入描述】

第一行输入一个正整数N(1<=N<=50),表示计划使用同一间会议室的部门数量接下来输入N行,每行两个正整数S和E(8<=S<=21,S<=E<=22),分别表示某部门计划使用会议室的开始时间和结束时间,正整数之间以一个空格隔开

【输出描述】

输出一个整数,表示这间会议室最多可以安排多少个部门使用


【样例输入】

3
9 12
10 15
15 20

【样例输出】

2
4.

题目描述:

有一组正整数数据,现对这组数据按照如下操作:

1)从这组数中找出两个相邻且相同的数,删掉其中一个数,剩下的一个数加1(例如:两个相邻的6,变成一个7);

2)重复操作第1步,直到这组数据中没有相邻且相同的数时,操作结束。

现给定N(1≤N≤2000)个正整数,表示这一组数,请问按照要求操作结束后,这组数据中最大的数是多少。

注意:不同的操作方式得到的最后结果不同,要求最后的结果是所有操作方式中最大的。

例如:

当N=6,这组数为 1、2、2、2、3、4时,

可获得最大结果的操作如下:

第一次操作:将这组数据中后两个相邻的2,变成3,此时这组数变为1,2,3,3,4;

第二次操作:将这组数据中两个相邻的3,变成4,此时这组数变为1,2,4,4;

第三次操作:将这组数据中两个相邻的4,变成5,此时这组数变为1,2,5;

此时这组数据中没有相邻且相同的数,操作结束,最大的数是5。

非最大结果的操作如下:

第一次操作:将这组数据中前两个相邻的2,变成3,此时这组数变为1,3,2,3,4;

此时这组数据中没有相邻且相同的数,操作结束,最大的数是4。

所以按照要求操作结束后,这组数据中可获得的最大数是5。

【输入描述】

第一行输入一个正整数N(1≤N≤2000)

第二行输入N个正整数(1≤正整数≤40),相邻两个数之间以一个空格隔开

【输出描述】

输出一个正整数,表示所有操作方式中最大的结果


【样例输入】

6
1 2 2 2 3 4

【样例输出】

5


5.

题目描述:

小贝要做一份黑暗料理,现有N(2≤N≤20)种不同的食材供她选择,食材编号从1到N。其中有些食材同时食用会产生副作用,所以产生副作用的食材只能选择其中一种食材或者都不选择。

已知同时食用会产生副作用的食材有M对(0≤M≤N*(N-1)/2),请计算出这份黑暗料理中最多能有多少种食材。

注意:会产生副作用的食材以两个编号表示,两个编号不等且编号小的在前,例如(1,2)和(2,3)。

例如:N=5,M=3时,5种食材编号为1到5,其中有3对食材会产生副作用:(1,2)、(2,3)、(4,5)。

可选择1、3、4号食材或1、3、5号食材做黑暗料理,最多可以有3种食材。

【输入描述】

第一行输入两个正整数N(2≤N≤20)和M(0≤M≤N*(N-1)/2),分别表示食材数量及会产生副作用的食材对数,两个正整数之间以一个空格隔开接下来输入M行,每行两个正整数(1≤正整数≤N),表示会产生副作用的两种食材编号,两个正整数之间以一个空格隔开,两个编号不等且编号小的在前

【输出描述】

输出一个整数,表示这份黑暗料理中最多能有多少种食材


【样例输入】

5 3
1 2
2 3
4 5

样例输出

3


6.

题目描述:

提示信息:

有一个由多个小正六边形组成的蜂巢图案,蜂巢外缘各边的小正六边形数量一致,且左右对称。

(上图蜂巢图案外缘各边小正六边形数量为2)

以下为竖直对称线上小正六边形个数为3、5、7的3个蜂巢图案。

编程实现:

有一只蜗牛要从竖直对称线顶端的小正六边形处移动到底端的小正六边形中,它每次只能向它所在位置的小正六边形的左下方、正下方、右下方相邻的小正六边形处移动。

已知竖直对称线上有N个小正六边形,请计算出蜗牛从竖直对称线顶端移动到底端共有多少条不同的移动路线。

例如:N = 3,竖直对称线上有3个小正六边形,如下图:

蜗牛从竖直对称线顶端的小正六边形处(1号处)移动到另一端的小正六边形中(7号处)共有11条不同的路线。

11条不同的路线分别为:

(1->2->5->7)、(1->2->4->7)、(1->2->4->5->7)、(1->2->4->6->7)、(1->4->5->7)、(1->4->7)、(1->4->6->7)、(1->3->4->5->7)、(1->3->4->7)、(1->3->4->6->7)、(1->3->6->7)。

【输入描述】

输入一个正整数N(2<N<30,N为奇数),表示图案上竖直对称线上小正六边形的个数

【输出描述】

输出一个整数,表示蜗牛从竖直对称线顶端移动到底端共有多少条不同的移动路线


【样例输入】

3

【样例输出】

11


公众号
客服 反馈
顶部