青少年python三级真题2005优质练习.docx
- 文档编号:26687686
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:35
- 大小:711.48KB
青少年python三级真题2005优质练习.docx
《青少年python三级真题2005优质练习.docx》由会员分享,可在线阅读,更多相关《青少年python三级真题2005优质练习.docx(35页珍藏版)》请在冰豆网上搜索。
青少年python三级真题2005优质练习
青少年python三级真题20-05优质练习
一、选择题
1.下列不可以用来搭建本地服务器的软件是()。
①Python②Excel③IIS④Apache
A.①②B.③④C.①②③④D.①②④
2.在Python中,判断n是否为偶数的表达式是()
A.n/2=0
B.n%2==0
C.n%2=0
D.n/2==0
3.python语言的特点()。
A.简单B.免费、开源C.可移植性D.以上都是
4.在python语言中表示“x属于区间[a,b)”的正确表达式是()
A.a≤xorx 5.Python文件的后缀名是() A.pdfB.doC.passD.py 6.Python中,赋值语句,“c=c-b”等价于() A.b-=c B.c-b=c C.c-=b D.c==c-b 7.下列哪个语句在Python中是非法的? ( ) A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y x=x+y 8.已知a=6,b=-4,则Python表达式a/2+b%2*3的值为() A.3B.3.0C.5D.5.0 9.下列关于Python语言变量声明的说法中,正确的是() A.Python中的变量不需要声明,变量的赋值操作即是变量声明和定义的过程 B.Python中的变量需要声明,变量的声明对应明确的声明语句 C.Python中的变量需要声明,每个变量在使用前都不需要赋值 D.Python中的变量不需要声明,每个变量在使用前都不需要赋值 10.在python中,想输出一行文字,要用到的函数是()。 A.input()B.int()C.print()D.float() 11.在Python语言中,用来定义函数的关键字是()。 A.returnB.defC.functionD.import 12.利用Python求100以内所有能被3整除的正整数,代码如下: 则下列程序第3行的横线应该填() A.i=i*3B.i=i%3C.i%3==0D.i/3==1 13.下列不是Python程序基本结构的是()。 A.顺序结构B.树形结构C.分支结构D.循环结构 14.在Python中,表达式2**3的结果是() A.5B.8C.6D.3 15.在Python中运行下列程序,输出结果为() foriinrange(1,6): print(‘*’) A.******B.******C.*****D.***** 16.已知下列Python程序段,k取下列哪组值是x=4? () foriinrange(10): k=int(input()) ifk<=20andk>0: ifk>15: ifk>18: x=0 else: x=1 else: ifk>12: x=4 else: x=5 A.13,16B.13,14,15C.16,17,18D.18,19 17.下面哪个不是Python合法的标识符( ) A.int32B.40XLC.selfD.__name__ 18.在Python中,实现多分支选择结构的较好方法是()。 A.ifB.if-elseC.if-elif-elseD.if嵌套 19.王明录入程序代码并运行,出现错误提示(如下图所示),分析原因并改错,正确的是() A.变量名1w太短B.应该写成float(input("输入体重(kg): ")=1w C.将float改为intD.变量名1w不符合Python语言规范,不能以数字开头 20.有如下python程序段 n=int(input("请输入n值: ")) x=n;y=0 ifx>0: y=y+1 elifx<0: y=y-1 print(y) 执行上述语句,下列说法不正确的是() A.若输入-1,则输出y值为-1B.若输入0,则输出y值为-1 C.若输入1,则输出y值为1D.若输入2,则输出y值为1 21.利用Python编程实现计算z=a+aa+aaa+aaaa+aa..a的值,其中a是一个数字,如8+88+888+8888+88888。 设计一个summalion()函数,输入变量为数字a和需要多少个数相加的n,在这个函数中,a.aa.aaa这些基本数由变量Basic来保存,前几个数的求和保存在变量sum中,Python程序如下左图所示,请在下划线处填写代码()完善程序实现如下右图的运行结果。 A.basic+=sumB.sum=basic+nC.sum=basic+1D.sum+=basic 22.在python中能实现下面结果的代码是()。 请输入你的性别: A.print(“请输入你的性别: ”)B.print(请输入你的性别: ) C.input(“请输入你的性别: ”)D.input(请输入你的性别: ) 23.在Python语言中,以下简单数据类型选项中描述错误的是() A.整数(int)、浮点数(float)B.字符串(str) C.布尔(bool)D.2.5+2.5的值是整数(int)类型 24.关于Python语句P=–P,以下选项中描述正确的是() A.P和P的负数相等B.P和P的绝对值相等 C.将P赋值为它的相反数D.P的值为0 25.关于python中的函数,以下描述错误的是()。 A.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可 B.使用函数的主要目的是减低编程难度和代码重用 C.Python使用del保留字定义一个函数 D.函数是一段具有特定功能的语句组 26.下列Python程序段的运行结果是() i=0 sum=0 whilei<10: ifi%2==0: sum+=i i+=1 print(‘sum=’,sum) A.sum=18B.sum=20C.sum=22D.sum=30 27.在python计数循环中,列表正确的输写方式是()。 A.(1,2,3)B.(1,2.3)C.[1,2.3]D.[1,2,3] 28.关于下列Python程序段的说法正确的是() k=1 while1: k+=1 A.存在语法错误,不能执行B.执行1次C.执行无限次D.执行k次 29.在Python中,设a=2,b=3,表达式a>bandb>=3的值是() A.1B.-1C.TrueD.False 30.下列属于计算机编程语言的有() ①Python②VisualBasic③Java④C++⑤CPU A.①②④⑤B.②③④⑤C.①②③④D.①③④ 二、程序填空 31.编写Python程序实现如下功能: 输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。 判断这一天是这一年的第几天。 以2021-06-21为例,前面5个月总天数,加上21天即这一天是本年的第几天。 特殊情况,当输入的年份是闰年时,2月份有29天。 闰年的判断方式如下: I、能被4整除,但不能被100整除; II、能被400整除; (1)“2020-05-20”这一天是这一年的第_________天。 (2)编写Python代码如下,在划线处填入正确的代码 _________________ _________________ _________________ (3)加框处的代码有误,请改正。 改正: _________________ mon=[31,28,31,30,31,30,31,31,30,31,30,31]#mon中存储1-12每个月的天数 s=input("请输入年月日: ") 'month=int(s[5: 7]) ① sum=0 foriinrange(②): sum+=mon[i] sum+=day if : isleap=True else: isleap=False if③ sum+=1 print("这一天是当年的第"+str(sum)+''天'') 32.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。 使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2 图1 图2 实现上述功能的Python程序如下: importpandasaspd importitertools #读数据到pandas的DataFrame结构中 df=________(”xk73.csv”,sep=‘.’,header=‘infer’,encoding=‘utf-8’) km=[‘物理’,‘化学’,‘生物’,‘政治’,‘历史’,‘地理’,‘技术’] #按学校分组计数 sc=df.groupby(‘___________’,as_index=False).count() #对分组计数结果进行合计,合计结果转换为DF结构并转置为行 df_sum=pd.DataFrame(data=sc.sum()).T df_sum[‘学校代码’]=‘合计’ #增加"合计"行 result=sc.append(df_sum) #百分比计算 df_percent=df_sum df_percent[‘学校代码’]=‘比例’ forkinkm: per=df_percent.at[0,k]/zrs df_percent[k]=per #增加"百分比"行 result=result.append(df_percent) #删除"姓名"列 result=______________ #修改"学生编号"为"总人数" result=result.rename(columns={‘学生编号’: ‘总人数’}) #保存结果,创建Excel文件.生成的Excel文件 result.to_excel("学校人数统计.xlsx") (1)请在划线处填入合适的代码: (2)加框处语句的作用是__________________ 33.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢? 请帮小金完成代码编程. defconvert(s): m=0 le=len(s) key=s[le-1] ifkey=="B": n=2 elifkey=="D": _______ else: n=16 i=0 whilei<=le-2: c=s[le-1-i] ifc>="0"andc<="9": a=ord(c)-ord("0") elifc>="A"andc<="F": a=ord(c)-ord("A")+10 _____________ i+=1 returnm s=input("请输入算式") result=0;suanfu1="";suanfu2="";s1="" foriinrange(len(s)): c=s[i] ifc=="+"orc=="-"orc=="=": __________ suanfu1=suanfu2 suanfu2=c ifsuanfu1=="": result=t ifsuanfu1=="+": result=result+t ifsuanfu1=="-": result=result-t s1="" else: s1=s1+c print("计算结果为"+str(result)+"D") (1)将程序横线处补充完整 (2)如输入“1110B+10D-30H=”则输出结果为___________。 34.某企业开展“运动打卡动动有奖”活动: 若员工在本月累计运动时间30小时以下,奖励0元;达到30但不足45小时奖励300元;达到45但不足60小时奖励450元;60小时及以上奖励500元。 小强用python编写程序实现相关功能: 输入某员工本月累计运动时间(时),输出其能获得的奖励金额。 (1)实现上述功能的程序如下,请在划线处填入合适的代码。 t=int(input(“请输入您本月累计运动时间(时): ”)) ift<0: print(“输入错误”) else: ift<30: ①_ elift<45: m=300 ②_____ m=450 else: m=500 print(“您的奖励是: ”,m) (2)当输入“-1”时,输出信息为_________(选填,填字母: A.输入错误/B.您的奖励是: 0/C.您的奖励是: 500) 35.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。 以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。 defgs(n): #字符串长度统一 iflen(n)>=5: n=_____#取字符串的前5个字符 else: n=n+""*(5-len(n)) returnn r=1000;x=100;y=15;z=0.8#从系统中分别获取消费额度、满和减以及打折的数值 dis=["红烧排骨","香炸刀鱼","虾仁","菜心","米饭"]#某顾客所点菜品名称 num=[1,1,1,1,3]#某顾客所点菜品数量 mon=[46,45,68,16,1]#某顾客所点菜品单价 print("菜品名称","数量","小计") _____ foriinrange(len(dis)): print(gs(dis[i]),num[i],"",num[i]*mon[i]) s=s+num[i]*mon[i] ifs>=r: total=s*z else: ______ print("消费合计: ",s) print("应收现金: ",total) 36.某字符转置算法描述如下: 将字符串(均为大写字符)s依次转换为相对应的数值(字符A~Z对应数值1~26); ·转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足部分用0来补充); 每一段中K个数据与K*K转置矩阵进行乘法运算; 将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值1~26对应字符A~Z),最后按原始字符串长度输出。 乘法运算规则如下: 第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=1,2…K) 例如: 字符串s=PYTHON,区块大小K=4,的转置过程如下: (1)根据算法描述,上述示例中,字符“N”的相乘结果(即图中(★)处)为________。 (2)请在划线处填入合适代码。 PrivateSubCommandl_Click() Dima(1To100)AsInteger´存储字符串,长度不超过100个字符 Dimb(1To100)AsInteger存储转置矩阵,长度不超过10*10 Dimc(1To100)AsLong DimsAsString,tmpAsString DimkAsInteger,tAsInteger,iAsInteger,jAsInteger DimnAsInteger,mAsInteger,lensAsInteger s=Textl.Text´在Textl中输入原始字符串 k=Val(Text2.Text)´在Text2中输入区块大小K Randomize Fori=1Tok^2 b(i)=Int(Rnd*9)+1 tmp=tmp十Str(b(i)) IfiModk=0Then List2.AddItemtmp tmp="". EndIf Nexti lens=Len(s): n=lens Fori=1Ton tmp=Mid(s,i,1) ①__________ Listl.AddItemStr(a(i)) Nexti DoWhilenModk<>0 n=n十1 a(n)=0 Listl.AddItemStr(a(n)) Loop Fori=1Ton m=(i―1)Modk+1 t=1 Forj=②__________ c(i)=a(j)*b((m-1)*k+t)+c(i) t=t+1 Nextj Nexti Fori=1Ton List3.AddItemStr(c(i)) Nexti s=″″ Fori=1Tolens ③__________ s=s+Chr(t+64)} Nexti Text3.Text=s´在Text3中输出转置后的字符串 EndSub 37.某种数据加密方法描述如下(加密前数据是ASCII字符): ●以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于8)为独立数据段。 ●数据加密规则: 数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8的数据段,不进行位置变换。 位置变换: 用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下: 加密后某数据段的第i个元素=对应原数据段的第c(i)个元素,其中i=1,2,……,8。 数值变换: 位置变换后,依次取出各个字符进行数值变换: 把该字符的ASCII码转二进制,然后与密钥m对应的二进制数(m为1到255之间的整数)按位异或运算。 异或运算(⊕)规则: 如果a、b两个值不相同,则a⊕b结果为1;如果a、b两个值相同,则a⊕b结果为0,即: 0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。 ●把上述处理的得到二进制数依次拼接,即构成最后的加密数据例如,待加密数据为“python3.50”,数组c各元素的值依次是 数组c 3 6 1 5 2 8 4 7 则数据位置变换如下: 如值变换密钥m为35(二进制表示是00100011),则字符“t”(ASCII码值是116,二进制表示是010100)的数值变换过程如下: 变换前 0 1 1 1 0 1 0 0 密钥m 0 0 1 0 0 0 1 1 变换后 0 1 0 1 0 1 1 1 (1)已知“A”的ASCII码值是65,m=35,则“A”数值变换后的结果是_______(填二进制数据)。 (2)小李根据上述算法,设计了一个数据加密程序,其VB代码如下,请在划线处填入合适的代码。 Constn=1024 Dimc(1To8)AsInteger PrivateSubForm_Load() ‘产生位置变换密钥数组c,代码略 EndSub Functionconvert(cAsInteger)AsString ‘程序功能: 把整数c转成8位二进制数,代码略 EndFunction PrivateSubCommand1_Click() DimsAsString,stAsString,ssAsString,resAsString DimiAsInteger,jAsIntegerstartAsInteger Dima(1Ton)AsString,b(1Ton)AsString s=Text1.Text st=convert(Val(Text2.Text)) Fori=1ToLen(s) a(i)=Mid(s,i,1) Nexti i=1: start=-8 DoWhile①________ IfiMod8=1Thenstart=start+8 b(i)=②_______ i=i+1 Loop Forj=iToLen(s) b(j)=a(j) Nextj Fori=1ToLen(s) ③________ Forj=1To8 IfMid(ss,j,1)=Mid(st,j,1)Then res=res+"0"Elseres=res+"1" '按位异或 Nextj Nexti Text3.Text=res EndSub 38.分析完善程序 某市出租车收费标准如下: (1)3公里内(含3公里),收费8元 (2)超过3公里但未超过6公里部分,按1.5元/公里收费 (3)超过6公里部分,按2.25元/公里收费。 根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元? [算法分析] 假设总费用为p,则可以分段计算 p=8‘(s≤3) p=1.5*(s-3)+8‘(3 p=2.25*(s-6)+1.5*3+8‘(s>6) [参考代码] a=float(input(“s=”)) ifs<=3: p=8 if p=1.5*(s-3)+8 ifs>6: p=2.25*(s-6)+1.5*3+8 print(p) 根据上述回答如下问题: (1)本题采用的算法是________(填: 解析法/枚举法/排序法/递归法)。 (2)程序代码中空白处应填写的条件是_______(填: A/B/C/D)。 A.3 39.程序补充: (1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢? 调用round()函数,保留结果两位小数。 money=_______________________________ rate=_________________________________ for___________________________________ ____________________________________ print(“5年以后存款总额: ”,money,“元”) (2)某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。 每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。 在收益率不变的情况下,多少年后本金被全部取出? money=___3ands<6D.s>3Ors<=6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 青少年 python 三级 2005 优质 练习