2023年12月第15届蓝桥杯Python编程青少组(选拔赛)真题(含答案)_第1页
2023年12月第15届蓝桥杯Python编程青少组(选拔赛)真题(含答案)_第2页
2023年12月第15届蓝桥杯Python编程青少组(选拔赛)真题(含答案)_第3页
2023年12月第15届蓝桥杯Python编程青少组(选拔赛)真题(含答案)_第4页
2023年12月第15届蓝桥杯Python编程青少组(选拔赛)真题(含答案)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023年12月第15届蓝桥杯Python编程青少组(选拔赛)真题(含答案)一、单选题。1.以下哪项是取余运算符?()。A.*B.//C.%D.+标准答案:C。2.已知:s="python",执行print(s[::2])语句后,输出的结果是()。A.pythonB.ptoC.nohtypD.yhn标准答案:B。3.在Python中,下面哪个选项可以获取字符串中某字符出现的次数?()。A.length()B.count()C.size()D.len()标准答案:B。4.题Python中的列表和元组的主要区别是()。A.列表中元素的值可修改,元组中元素的值不可修改。B.列表是有序的,元组是无序的。C.列表是一维的,元组可以是多维的。D.列表可以包含不同类型的元素,元组只能包含相同类型的元素。标准答案:A。5.关于Python语言的浮点数类型,以下选项中描述错误的是()。A.小数部分不可以为0B.带有小数的类型通常用浮点数类型表示C.float(x)中x可以是十进制实数形式的字符串D.整数写成指数形式是浮点数类型标准答案:A。二、编程题。6.小青有N个小球,小蓝有M个小球,请计算他们一共有多少个小球。例如:N=2,M=3,表示小青有2个小球,小蓝有3个小球,一共有5个小球(5=2+3)。输入描述:第一行输入一个整数N(1≤N≤1000),表示小青的小球数量第二行输入一个整数M(1≤M≤1000),表示小蓝的小球数量。输出描述:输出一个整数,表示一共有多少个小球。样例输入:23样例输出:5参考程序:a=int(input())b=int(input())print(a+b)7.给定一个长度为11的字符串S,表示电话号码,然后将电话号码中第三位数字后的连续四位数字用“*”替换,并输出替换后的字符串。例如:S=,用“*”替换第三位数字后的连续四位数字为“139****1234”。输入描述:输入一个长度为11的字符串S(字符串仅包含0~9之间的数字且首个字符只能为1),表示电话号码。输出描述:输出一个字符串,表示替换后的字符串。样例输入例输出:139****1234参考程序:s=input()print(s[0:3]+'*'*4+s[7:])8.给定N个长度不同的字符串,请将每个字符串的最后一个字符删除,并按长度从短到长的顺序换行输出。例如:N=3,3个字符串分别为dfgas、abc、cbdf,删除最后一个字符后为dfga、ab、cbd。按长度从短到长的顺序换行输出为:abcbddfga。输入描述:第一行输入一个整数N(2≤N≤10),表示字符串的个数。第二行输入N个长度不同的字符串(2≤字符串长度≤20),字符串之间以一个空格隔开。输出描述:输出N行字符串,表示所有字符串删除最后一个字符后,按长度从短到长的顺序换行输出的结果。样例输入:3dfgasabccbdf样例输出:abcbddfga参考程序:n=int(input())ls=list(input().split())ans_ls=[x[0:len(x)-1]forxinls]ans_ls.sort(key=len)foriinans_ls:print(i,end='')9.有N张扑克牌叠放在桌上,A和B两人轮流抽牌,每次只能从最上面或最下面抽一张牌,当最后一张牌被抽完时,比较A和B两人扑克牌的点数总和,点数总和大的一方胜利,点数相同时双方均不算胜利。A先抽牌,请统计一共有多少种不同的抽牌情况,A有多少种不同的获胜情况。例如:N=3,有3张扑克牌,从上往下的点数依次为3、2、1。A先抽牌,所有不同的抽取情况有:第一种:A抽3,B抽1,A再抽2,A的点数总和为5,B的点数总和为1;第二种:A抽3,B抽2,A再抽1,A的点数总和为4,B的点数总和为2;第三种:A抽1,B抽3,A再抽2,A的点数总和为3,B的点数总和为3;第四种:A抽1,B抽2,A再抽3,A的点数总和为4,B的点数总和为2;一共有4种不同的抽牌情况,A有3种不同的获胜情况。输入描述:第一行输入一个整数N(2≤N≤20),表示扑克牌的张数。第二行输入N个整数(1≤整数≤13),同一个整数不能出现超过4次,表示从上往下每张扑克牌的点数,整数之间以一个空格隔开。输出描述:第一行输出一个整数,表示一共有多少种不同的抽牌情况第二行输出一个整数,表示A有多少种不同的获胜情况。样例输入:3321样例输出:43参考程序:n=int(input())cards=list(map(int,input().split()))res1=pow(2,n-1)print(res1)res2=0foriinrange(1,res1+1):m,a,b,x,y=i,0,0,0,n-1forjinrange(0,n):ifj%2==0:ifm&1:a+=cards[x]x+=1else:a+=cards[y]y-=1else:ifm&1:b+=cards[x]x+=1else:b+=cards[y]y-=1m>>=1ifa>b:res2+=1print(res2)10.有一张N行N列的网格纸,网格中每个小格子都是1×1的正方形,有些格子被填充成橙色。请数一数橙色区域一共有多少个矩形。例如:N=4,4行4列的网格纸如下图:图中网格纸的橙色区域一共有7个矩形。输入描述:第一行输入一个正整数N(2≤N≤50)。接下来输入N行,每行N个整数(整数只能为1或0),其中1表示填充成橙色,0表示没有填充成橙色,整数之间以一个空格隔开。输出描述:输出一个整数,表示橙色区域的矩形数量。样例输入:41001000010010110样例输出:7参考程序:n=int(input())ls=[]foriinrange(n):lst=list(input())ls.append(lst)defjudge(x,y,a,b):foriinrange(a):forjinrange(b):ifls[x+i][y+j]!='1':returnFalsereturnTrueres=0forainrange(1,n+1):forbinrange(1,n+1):forxinrange(n-a+1):foryinrange(n-b+1):ifjudge(x,y,a,b):res+=1print(res)11.老师在黑板上写了一个不超过500位的整数n(1≤n<10500),要求同学们擦掉其中任意k个数字,剩余数字的顺序不变,希望得到的数最大。例如:n=69134,k=2,从69134中擦掉2个数字;从左往右,将第一个位置的6和第三个位置的1擦掉,变成的新数934是最大的。输入描述:输入两个整数n和k(1≤n<10500,0≤k<n的位数),整数之间以一个空格隔开。输出描述:输出一个整数,表示擦掉k个数字后,得到的最大数。样例输入:691342样例输出:934参考程序:s,n=input().split()ls=list(s)n=int(n)foriinrange(n):

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论