青少年编程等级考试∶Python编程一级试卷2
一、选择题
1.下面Python代码运行后,a、b的值为( ) a=23 b=int(a/10) a=(a-b*10)*10 b=a+b print(a,b) A.23 2 A.(1,2,3) i=0 sum=0 while i<10: if i%3==0: sum+=i i+=1
print(\"sum=\ A.sum=9
B.sum=10
C.sum=18
D.sum=19
4.下列有关信息的说法,不正确的是( )。 A.Python程序设计语言也是一种信息 B.给微信朋友圈点赞也是一种信息评价方式 C.信息在传输过程中,必须遵循一定的规则
D.对相关数据进行加工处理,使数据之间建立相互联系,从而形成信息 5.在Python IDLE编辑器中书写正确的表达式( ) A.b**2-4ac A.X,Y=5,8 A.char A.34 A.Esc ( )
A.(x%4==0) or (x%100!=0) B.(x%4==0) and (x%100!=0)
B.1/2gt2 B.X=Y=5 B.int B.67 B.close
C.pi*r^2 C.X =Y+X C.float C.100 C.回车键
D.2*pi*r D.10=X+Y D.list D.1 D.exit
6.下列选项中不能正确表达Python中的赋值语句的是( ) 7.Python不支持的数据类型有( )。
8.在Python中,“print(100-33*5%3)”语句输出的是( ) 9.Python语言自带的IDLE环境的退出命令是( )
10.下列Python表达式中,能正确表示“变量x能够被4整除且不能被100整除”的是
B.30 20 B.(1,2.3)
C.30 32 C.[1,2.3 ]
D.3 2 D.[1,2,3]
2.在python计数循环中,列表正确的输写方式是( )。 3.下列Python程序段运行的结果是( )。
C.(x/4==0) or (x/100!=0) D.(x/4==0) and (x/100!=0)
11.要实现将实数型变量a的值保留三位小数,以下python可以实现的是( ) A.a%0.001 A.PRINT( ) B.Print( ) C.print( ) D.Int( )
13.在Python中print(-14//4)的运行结果是( )。 A.-4 A.True B.88abc C.abc&88 D._abc88
15.在python中,以下哪个选项a 的数据类型为整型( ) A.a=5
B.a=input()
C.a='5'
D.a=5.0
B.-3.5
C.2
D.-2
14.下列属于正确的Python变量名的是( )
B.a//0.001
C.round(a,3)
D.round(3,a)
12.Python中,保留字写法正确的是( )
二、程序填空
16.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。
17.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。
18.已知圆柱体的底面半径为r,高为h,(均为正整数),小张编写了一个程序计算圆柱体的地面周长和面积,圆柱体侧面积以及圆柱体体积,其中圆周率定义为:3.14,请根据下列代码回答问题:
r=int(input(“请输入半径r:”)) h=int(input(“请输入高h:”)) _________________________ c=2*pi*r s=pi*r**2 S=c*h V=s*h print(c,s,S,V)
(1)解决问题的程序用到的控制结构有:__________________(填:顺序结构、分支结构、循环结构)
(2)请将程序补充完整。
(3)请找出程序中的错误代码,并改正。 ____________________________________________ 19.完善程序实现以下功能并保存。
输入一元二次方程的系数a,b,c的值,求解一元二次方程 ax2+bx+c=0(a≠0)
#请不要更改源程序的结构,删除原题里的①、②。填写正确的代码,使程序完善 import math
a=float(input(\"请输入方程系数a(!=0):\")) b=float(input(\"请输入方程系数b:\")) c=float(input(\"请输入方程系数c:\")) delta=b*b-4*a*c if delta>________:
x1=(-b+math.sqrt(delta))/(2*a) x2=(-b-math.sqrt(delta))/(2*a) print(\"方程有两个不同的解\",x1,x2) elif delta==0: x1=________
print(\"方程有两个相同的解\",x1) else:
print(\"方程无解\")
input(\"运行完毕,请按回车键退出...\") 20.求1~100内奇数之和(使用range函数)
21.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
【参】***试卷处理标记,请不要删除
一、选择题 1.C 【详解】
本题主要考查Python程序执行。a=23,b=int(a/10)=2,a=(a-b*10)*10=30,b=a+b=32,故代码运行后,a、b的值为30、32,故本题选C选项。 解析:C 【详解】
本题主要考查Python程序执行。a=23,b=int(a/10)=2,a=(a-b*10)*10=30,b=a+b=32,故代码运行后,a、b的值为30、32,故本题选C选项。
2.D 【详解】
本题考查的是python列表相关知识。列表参数必须是由方括号括起来的列表,参数之间用分号。故选项D正确。
解析:D 【详解】
本题考查的是python列表相关知识。列表参数必须是由方括号括起来的列表,参数之间用分号。故选项D正确。
3.C 【详解】
本题考查的是Python程序。程序分析过程如下: i=0 sum=0
i=0<10 0%3==0 sum=0+0=0 i=0+1=1 i=1<10 1%3==0不成立 i=1
解析:C 【详解】
本题考查的是Python程序。程序分析过程如下: i=0 sum=0
i=0<10 0%3==0 sum=0+0=0 i=0+1=1 i=1<10 1%3==0不成立 i=1+1=2 i=2<10 2%3==0不成立 i=2+1=3 i=3<10 3%3==0 sum=0+3=3 i=3+1=4 i=4<10 4%3==0不成立 i=4+1=5 i=5<10 5%3==0不成立 i=5+1=6 i=6<10 6%3==0 sum=3+6=9 i=6+1=7 i=7<10 7%3==0不成立 i=7+1=8 i=8<10 8%3==0不成立 i=8+1=9 i=9<10 9%3==0 sum=9+9=18 i=9+1=10 i=10<10 不成立
输出sum=18,故答案C正确。
4.A 【详解】
本题考查的是信息相关知识。信息是一种具体的含义,语言是信息的载体,故选项A错误;给微信朋友圈点赞是个人推荐,故选项B正确;表达信息时要遵照一定的标准,计算机、通信、网络等规范了一系列的
解析:A 【详解】
本题考查的是信息相关知识。信息是一种具体的含义,语言是信息的载体,故选项A错误;给微信朋友圈点赞是个人推荐,故选项B正确;表达信息时要遵照一定的标准,计算机、通信、网络等规范了一系列的协议,故选项C正确;对相关数据进行加工处理,使数据之间建立相互联系,从而形成信息,选项D正确。
5.D 【详解】
本题主要考查Python表达式知识点。书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t*
解析:D 【详解】
本题主要考查Python表达式知识点。书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t**2,pi*r**2,2*pi*r是正确的表达式,故本题选D选项。
6.D 【详解】
本题主要考查Python赋值语句。赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。
解析:D 【详解】
本题主要考查Python赋值语句。赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。
7.A 【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。故本题选A选项
解析:A 【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。故本题选A选项
8.C 【详解】
本题主要考查Python表达式的计算。“*”是乘法运算,“%”是取余运算,“*”、“%”优先级一样,按从左到右计算,故100-33*5%3=100-165%3=100-0=100,故“
解析:C 【详解】
本题主要考查Python表达式的计算。“*”是乘法运算,“%”是取余运算,“*”、“%”优先级一样,按从左到右计算,故100-33*5%3=100-165%3=100-0=100,故“print(100-33*5%3)”语句输出的是100,故本题选C选项。
9.D 【详解】
本题主要考查Python基本知识。Python程序设计语言默认安装时,会有一个自带的集成开发环境IDLE。要创建Python程序文件,可以利用IDLE中的“文件“菜单。可使用exit(
解析:D 【详解】
本题主要考查Python基本知识。Python程序设计语言默认安装时,会有一个自带的集成开发环境IDLE。要创建Python程序文件,可以利用IDLE中的“文件“菜单。可使用exit()或quit()退出Python,因此D选项正确。 【点睛】
10.B 【详解】
本题主要考查Python表达式的运算。逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!=0,故本题选B选项。
解析:B 【详解】
本题主要考查Python表达式的运算。逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!=0,故本题选B选项。
11.C 【详解】
本题主要考查Python函数。round(x,n)方法返回 x 的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
解析:C 【详解】
本题主要考查Python函数。round(x,n)方法返回 x 的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
12.C 【详解】
本题主要考查Python保留字。保留字不能将其用作标识符;保留字区分字母大小写,大写的不是保留字;if,else,for 等单词是保留字,也不能将其用作标识
符;标识符是由字符(A~Z
解析:C 【详解】
本题主要考查Python保留字。保留字不能将其用作标识符;保留字区分字母大小写,大写的不是保留字;if,else,for 等单词是保留字,也不能将其用作标识符;标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字;标识符不能和 Python 中的保留字相同。故print( )是保留字正确的写法。
13.A 【详解】
本题主要考查Python表达式的运算。运算符//表示向下取整,-14//4=-4,14//4=3,故本题选A选项。
解析:A 【详解】
本题主要考查Python表达式的运算。运算符//表示向下取整,-14//4=-4,14//4=3,故本题选A选项。
14.D 【详解】
本题主要考查Python变量名命名规则。Python变量名命名规则如下:(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;(2)Python变量名不能是 P
解析:D 【详解】
本题主要考查Python变量名命名规则。Python变量名命名规则如下:(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;(2)Python变量名不能是 Python 关键字,但可以包含关键字;(3)Python变量名不能包含空格。由上可知D选项正确。 【点睛】
15.A 【详解】
本题考查Python数据类型。Python数据类型有字符串,布尔类型,整数,浮点数等。a=5,a为整数型;a=‘5’,则a为字符串;a=5.0,则a为浮点数。故本题选A。
解析:A 【详解】
本题考查Python数据类型。Python数据类型有字符串,布尔类型,整数,浮点数等。a=5,a为整数型;a=‘5’,则a为字符串;a=5.0,则a为浮点数。故本题选A。
二、程序填空
16.price=int(input(\"请输入消费额(整数):\")) if price < 200: price=price-price*0.1 else:
price=price-price*0.2
print(\"折扣后的应付金额是:\ 【详解】
本题主要考查Python程序的执行与调试。用键盘通过输入函数input输入消费额,并用int函数将其转换为整数类型,通过if条件分支结构,判断如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣,最后用print输出函数输出折扣后的应付金额。
17.原理:通常蒙特•卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特•卡罗方法是一种有效的求出数值解的方法。一般蒙特•卡罗方法在数学中最常见的应用就是蒙特•卡罗积分。方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。利用蒙特卡洛方法实现求解圆周率 #!/usr/bin/Python #-*- coding:utf-8 -*- import random import math def monteCarlo(N): i = 0 count = 0 while i <= N: x = random.random() y = random.random() if pow(x, 2) + pow(y, 2) < 1: count += 1 i += 1
pi = 4 * count / N print(pi)
monteCarlo(1000000) 【详解】
本题考查的知识点是Python程序。原理:通常蒙特•卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特•卡罗方法是一种有效的求出数值解的方法。一般蒙特•卡罗方法在数学中最常见的应用就是蒙特•卡罗积分。方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。利用蒙特卡洛方法实现求解圆周率#!/usr/bin/Python#-*- coding:utf-8 -*-import randomimport mathdef
monteCarlo(N): i = 0 count = 0 while i <= N: x = random.random() y = random.random() if pow(x, 2) + pow(y, 2) < 1: count += 1 i += 1 pi = 4 * count / N print(pi)monteCarlo(1000000)
18.顺序结构 pi=3.14 r=float(input(“请输入半径r:”)) 整型和实数型不能直接运算,结果会有误差 h=float(input(“请输入高h:”)) 【详解】
本题主要考查Python程序执行与调试。①分析程序可知,解决问题的程序用到的控制结构有:顺序结构。②圆周率定义为:3.14,故第二空填pi=3.14。③r=float(input(“请输入半径r:”)) 整型和实数型不能直接运算,结果会有误差 h=float(input(“请输入高h:”))。 19.-b/(2*a) 【详解】
本题主要考查Python程序执行与调试。①delta大于0,方程有两个不同的解,delta等于0,方程有两个相同的解,delta小于0,方程无解,故第一空填0。②delta=0,则方程有两个相同的根,x=-b/(2*a),故第二空填-b/(2*a)。 20.Sum=0 for i in range(1,101,2): Sum+=i print(Sum) 【详解】
本题主要考查Python程序设计。求1~100内奇数之和,用Sum来求和,变量i的范围是1到100,每次递增2,可以使用range函数,具体代码如下: Sum=0
for i in range(1,101,2): Sum+=i print(Sum)
21.s = input('input a string:') letter = 0 # 统计字母 space = 0 # 统计空格 digit = 0 # 统计数字 other = 0 # 统计其他字符 for c in s: if c.isalpha(): letter += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: other += 1
print(\"字母:\空格:\数字:\其他字符:\
【详解】
本题主要考查程序设计。题干要求可通过Python程序实现,使用for循环、多条件分支结构。其中实现分别统计出其中英文字母、空格、数字和其它字符的个数可通过函数isalpha、isspace、isdigit来判断统计,具体代码如下: s = input('input a string:') letter = 0 # 统计字母 space = 0 # 统计空格 digit = 0 # 统计数字 other = 0 # 统计其他字符 for c in s: if c.isalpha(): letter += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: other += 1
print(\"字母:\空格:\数字:\其他字符:\