文库 真题 蓝桥杯真题

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

蓝桥杯青少组12级真题 蓝桥杯Python真题 DOCX   5页   下载0   2024-02-24   浏览132   收藏0   点赞0   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组Python组别12级编程练习真题(第8套,共8套) 第1页
蓝桥杯青少组Python组别12级编程练习真题(第8套,共8套) 第2页
剩余3页未读, 下载浏览全部
蓝桥等考Python组别 十二 级 第一部分:选择题 1、Python L 12 (15分) 运行 下面 程序,输出的结果是 ( )。 lis = [ 4 , 2 , 1 , 6 , 8 ] print( lis [ 0 : 2 ]) [ 4 , 2 ] [ 4 , 2 , 1 ] [ 2 , 1 ] [ 4 ] 正确答案: A 2 、Python L 12 ( 15 分) 运行 下面 程序,输出的结果是 ( )。 lis = [ 'A' , 'A' , 'A' , 'B' , 'B' ] lis .append( 'A' ) print( len(lis) ) 4 5 6 7 正确答案: C 3、Python L 12 (20分) 运行 下面 程序,输出的结果是 ( )。 lis = [[ 9 , 1 ], [ 6 , 4 ]] print( lis [ 1 ][ 0 ]) 9 1 6 4 正确答案: C 第二部分:编程题 4、Python L 12 最大值和最小值的差 ( 2 0分) 题目名称: 最大值和最小值的差 题目描述: 在一行输入 几个正 整数, 用这几个正整数建立 一个列表, 输出 列表中 最大值和最小值的差 。 输入: 一行,按字符串形式输入若干个正整数(数量 大于3 ),相邻两个正整数用一个空格分隔。 数据保证最大值和最小值分别只有一个。 提示: s = input() #输入一个字符串,赋值给s a = s.split(' ') # 将字符串s按空格拆分,保存到列表 a中 lis = [int(i) for i in a] # 将列表a的元素转换成整数,保存到列表lis 中 输出: 一个整数,表示建立的列表中,最大值和最小值的差。 输入样例: 1 2 3 4 输出样例: 3 参考程序: s = input() a = s.split(' ') lis = [int(i) for i in a] print(max(lis) - min(lis)) 测试数据: 1.in 1 2 3 4 1.out 3 2.in 1 2 3 2 3 6 9 2.out 8 3.in 1 2 4 7 4 3.out 6 4.in 5 3 8 2 4.out 6 5.in 5 3 4 8 9 22 14 20 5.out 19 5 、Python L 1 2 和为k的连续子列表 ( 3 0分) 题目名称: 和为k的连续子列表 题目描述: 对于一个给定的列表,我们可以用“切片”操作,截取列表中任何连续部分,获得子列表。特别地,原列表本身也是一个子列表。 给定一个包含n个正整数的列表和一个正整数k,请判断该列表中,是否存在和为k的连续子列表。 例如: n=5,k=4,列表为[1, 3, 1, 3, 2], 存在和为k的连续子列表,是[1, 3]、[3, 1]和[1, 3]。 输入: 第一行一个正整数,为 原 列表的元素个数 n(1<=n<=100); 第二行一个正整数 k(1<=k<=20); 第三行 ,以字符串形式输入 n 个正整数(大小在 1~10范围内 ),相邻两个正整数用一个空格分隔。 提示: s = input() #输入一个字符串,赋值给s a = s.split(' ') # 将字符串s按空格拆分,保存到列表 a中 lis = [int(i) for i in a] # 将列表a的元素转换成整数,保存到列表lis 中 输出: 一个 字符串 , 如果原 列表中, 存在和为k的连续子列表,输出“yes”,不存在和为k的连续子列表,输出“no”。 输入样例: 5 4 1 3 1 3 2 输出样例: yes 参考程序 1 : n = int(input()) k = int(input()) s = input() a = s.split(' ') lis = [int(i) for i in a] b = False for i in range(n): for j in range(i, n): if (sum(lis[i: j + 1]) == k): b = True if b == True: print('yes') else: print('no') 参考程序 2 : n = int(input()) k = int(input()) s = input() a = s.split(' ') lis = [int(i) for i in a] lis.insert(0, 0) pre = [0] * (n + 1) #pre[i]表示lis的前i项和 for i in range(1, n + 1): pre[i] = pre[i - 1] + lis[i] b = False for i in range(1, n + 1): for j in range(i, n + 1): if (pre[j] - pre[i - 1] == k): #前j项和-前i项和=第i+1项~第j项和 b = True if b == True: print('yes') else: print('no') 测试数据: 1.in 5 4 1 3 1 3 2 1.out yes 2.in 5 1 3 8 10 9 3 2.out no 3.in 8 1 8 1 1 7 9 9 8 8 3.out yes 4.in 10 6 9 8 5 6 7 8 10 1 8 5 4.out yes 5.in 12 5 3 10 2 2 2 10 7 4 6 3 6 6 5.out no
蓝桥杯青少组Python组别12级编程练习真题(第8套,共8套)
下载提示

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