文库 真题 蓝桥杯真题

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

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

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