文库 真题 蓝桥杯真题

蓝桥杯青少组Python组别11级编程练习真题(第3套,共8套)

蓝桥杯青少组11级真题 蓝桥杯Python真题 DOCX   5页   下载0   2024-02-24   浏览122   收藏0   点赞0   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组Python组别11级编程练习真题(第3套,共8套) 第1页
蓝桥杯青少组Python组别11级编程练习真题(第3套,共8套) 第2页
剩余3页未读, 下载浏览全部
蓝桥等考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套)
下载提示

下载及版权说明:6547网文库内容来自网络及各平台公开内容(属于用户上传,不保证正确性,只做参考),旨在帮助同学们学习少儿编程相关知识及内容,仅限内部学习及使用,以分享为主,下载本文档之后请合法使用相关、真题、素材、课件、教程等内容,若内容存在侵权,请进行 举报 及查看 免责声明