蓝桥等考Python组别
十一
级
第一部分:选择题
1、Python L
11
(15分)
运行
下面
程序,输出的结果是
( )。
a = list(range(
1,
4
))
print(a)
[1, 2, 3]
[1, 2, 3, 4]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
正确答案:A
2
、Python L
11
(
15
分)
运行
下面
程序,输出的结果是
( )。
lis
= [
7
, 2,
8
,
5
,
1
]
lis
.sort(reverse = True)
print(
lis
[0])
5
8
7
2
正确答案:B
3、Python L
11
(20分)
已知列表lis被赋值如下:
lis
= [
5
,
3
,
1
,
1
, 2]
下面列表
操作函数的
返回结果,
错误的是( )。
min
(
lis
)
的返回结果
是:
1
sum(
lis
)
的返回结果
是:
1
2
max(
lis
)
的返回结果
是:
2
lis.index(
3
)的返回结果是:
1
正确答案:
C
第二部分:编程题
4、Python L
11
第3个数
(
2
0分)
题目名称:
第3个数
题目描述:
在一行输入
几个正
整数,中间用空格隔开,
输出左起第3个数
。
输入:
一行,按字符串形式输入若干个正整数(数量
大于或等于3
),相邻两个正整数用一个空格分隔。
提示:
s = input()
#输入一个字符串,赋值给s
a = s.split(' ') #
将字符串s按空格拆分,保存到列表
a中
lis = [int(i) for i in a]
#
将列表a的元素转换成整数,保存到列表lis
中
输出:
一个正整数,表示
输入的
几个正
整数中第
3个数。
输入样例:
2 1 7 5 4
输出样例:
7
参考程序:
s = input()
a = s.split(' ')
print(a[2])
测试数据:
1.in
2 1 7 5 4
1.out
7
2.in
5 2 11 2 3 8 9
2.out
11
3.in
1 2 4 7 9
3.out
4
4.in
3 1 8 6 7 12
4.out
8
5.in
5 31 3 8 9 22 54 90
5.out
3
5、Python L11 打怪兽(30分)
题目名称:打怪兽
题目描述:
小蓝操控着游戏主角,与怪兽进行激烈的战斗。小蓝有n件道具(法宝),每件道具都有一个攻击值
x
,使用该道具会使怪兽的体力值减少
x
。
已知怪兽的初始体力值为50,当怪兽的体力值小于或等于0时,小蓝胜利。
小蓝可以以任意顺序使用道具,对怪兽造成伤害,直到取得胜利。每件道具只能使用一次。
输入
小蓝
的道具数量n,以及
所有道具的攻击值,请问小蓝最少使用几件道具才能获得胜利。
数据保证小蓝使用所有道具,肯定能取得游戏胜利。
输入:
第一行一个正整数,为小蓝
的道具数量n(
2<=n<=20
);
第二行,按字符串形式输入
n
个正整数(
大小在
1~
2
0
范围内
),相邻两个正整数用一个空格分隔,依次表示
每
个道具的攻击值。
提示:
s = input()
#输入一个字符串,赋值给s
a = s.split(' ') #
将字符串s按空格拆分,保存到列表
a中
lis = [int(i) for i in a]
#
将列表a的元素转换成整数,保存到列表lis
中
输出:
一个整数,为小蓝最少使用几件道具才能获得胜利。
输入样例:
5
5 15 20 20 10
输出样例:
3
参考程序
1
:
n = int(input())
s = input()
a = s.split(' ')
lis = [int(i) for i in a]
lis.sort(reverse = True) #从大到小排序
i = 0
pow = 50
while pow > 0: #如果怪兽没死就继续打
pow -= lis[i]
i += 1
print(i)
参考程序
2(校验用)
:
a = [0]*20
vis = [0]*20
def dfs(n, num, Pow, k):
global ans
if Pow >= 50: return
for i in range(n):
if vis[i] == 0 and num[i] >= a[k - 1]:
a[k] = num[i];
vis[i] = 1
Pow += num[i]
if(Pow >= 50): ans = min(ans, k);
else: dfs(n, num, Pow, k + 1)
vis[i] = 0
Pow -= num[i]
n = int(input())
num = [int(i) for i in input().split(' ')]
ans = n
dfs(n, num, 0, 1)
print(ans)
测试数据:
1.in
5
5 15 20 20 10
1.out
3
2.in
6
2 19 13 7 14 4
2.out
4
3.in
7
20 6 12 15 3 1 5
3.out
4
4.in
10
18 12 14 6 10 2 11 9 5 13
4.out
4
5.in
12
16 15 12 8 5 9 13 18 14 6 17 20
5.out
3
蓝桥杯青少组Python组别11级编程练习真题(第3套,共8套)