python二级模拟卷3.docx
《python二级模拟卷3.docx》由会员分享,可在线阅读,更多相关《python二级模拟卷3.docx(12页珍藏版)》请在冰豆网上搜索。
python二级模拟卷3
python二级模拟卷3
一、选择题
1.以下对Python程序缩进格式描述错误的选项是()
A.不需要缩进的代码顶行写,前面不能留空白
B.缩进可以用tab键实现,也可以用多个空格实现
C.严格的缩进可以约束程序结构,可以多层缩进
D.缩进是用来格式美化Python程序的
2.在Python中,设a=2,b=3,表达式a>bandb>=3的值是()
A.1B.-1C.TrueD.False
3.在python中,下列哪个选项是正确的赋值语句()
A.5s=80B.2018=xC.a+b=cD.s=s+5
4.下列与数学表达式
对应的python表达式,正确的是( )。
A.(-b+math.sqrt(b*b–4*a*c))/a*a
B.-b+math.sqrt(b*b–4*a*c)/2*a
C.(-b+math.sqrt(b*2–4*a*c))/(2*a)
D.(-b+math.sqrt(b*b–4*a*c))/(2*a)
5.在Python中,用变量code存储学生的借书卡编码,例如:
code=“NO.2020100502”,则变量code的数据类型应定义为()
A.布尔型B.整型C.字符串型D.浮点型
6.有如下Python程序,当程序运行后输入15000,则程序输出结果为()
A.2800B.2800.0C.12200D.12200.0
7.以下Python程序运行后,变量x和st的值分别是()。
A.801123678B.801“123678”C.801801D.123678“123678”
8.Python不支持的数据类型有()。
A.charB.intC.floatD.list
9.以下python程序段运行后,x和st的值分别是()
x= 123 + 678
st = "123" + "678"
A.123678"123678"B.123678"801"C.801"123678"D.801"801"
10.在Python中,显示出信息x,并要求输入数据的是()。
A.abs(x)B.float(x)C.print(x)D.input(x)
11.关于python程序设计语言,下列说法不正确的是()
A.python是一种解释型、面向对象的计算机程序设计语言
B.python支持Windows操作系统,但不支持Linux系统
C.python源文件以***.py为扩展名
D.python文件不能直接在命令行中运行
12.下图是python34安装后目录文件的磁盘文件存储结构,下列说法错误的是()
A.图中文件存储结构为树结构,python34为树的根结点(父节点)
B.图中python34根结点有4个子结点
C.图中python34根结点下有5个子树(子结点)
D.图中Tools是python34的子树(子结点)
13.在Python中print(8+7%2**2)的执行结果是()
A.5B.1C.6D.11
14.如下Python程序段
x=0
whilex<50:
x=(x+2)*(x+3)
运行后,x的值为()
A.0B.72C.50D.168
15.下列Python程序段运行的结果是()
f=[‘A’,’B’,’C’]
a=len(f)
print(‘a=’,a)
A.a=2B.a=’A’C.a=’C’D.a=3
二、程序填空
16.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。
它是已知最古老的算法,其可追溯至公元前300年前。
辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。
因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。
小曲设计了辗转相除法的算法,请根据下面算法回答问题。
描述一
描述二
描述三
①输入两个正整数m,n(m>n);
②计算m除以n所得的余数r;
③m=n,n=r;
④若r=0,则m,n的最大公约数等于m;否则转到步骤②;
⑤输出最大公约数m;
⑥结束。
(1)描述一是________描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
(2)在描述三中代码4到6行作用是__________。
(3)在描述三程序设计中,补充代码第8行划线处为__________。
17.完善代码并保存。
实现功能:
从键盘输入10个学生的测试成绩,输出最高分和最低分。
cj=[]
foriinrange(0,________):
x=float(input("请输入一个数"))
cj.append(________)
print(max(cj),min(________))
input("运行完毕,请按回车键退出...")
18.程序设计:
在舞会上,男生、女生各自排成一队。
舞会开始时,依次从男队和女队的队头各出一人配成舞伴。
跳完后的两人重新回到队尾。
例如:
boy=['Alex','Steven','Jack'],girl=['Ada*,'Babs'.,'Danla','Jane']
输出:
Turn1:
(Alex,Ada)
Turn2:
(Steven,Babs)
Turn3:
(Jack,Danla)
Turn4:
(Alex,jane)
……
Turn12:
(Jack,jane)
代码如下:
boy=['Alex','Steven',‘Jack']
girl=['Ada','Babs','Danla','Jane']
foriinrange(12):
x,y=①#出队
print(“Turn{:
2}):
({},{})".format(i+1,x,y))
boy.append(②)#再进队
girl.append(③)#再进队
(1)程序代码中①处正确的代码是(_______)。
A.boy.pop(l).girl.pop(l)B.girl.pop(l),boy.pop(l)
C.boy.pop(0),girl.pop(0)D.girl.pop(0),boy.pop(0)
(2)程序代码中②处正确的代码是(_______)。
A.xB.yC.iD.i+1
(3)程序代码中③处正确的代码是(_______)。
A.xB.yC.iD.i+1
19.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:
今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。
凡百钱,买鸡百只。
问鸡翁、母、雏各几何?
这个问题就是著名的“百钱买百鸡问题”。
即:
现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:
公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。
问公鸡、母鸡和小鸡各几何?
(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
forginrange(1,20):
formin_______:
forxinrange(3,98,3):
if_________and__________==100:
print("公鸡:
",g,"母鸡:
",m,"小鸡:
",x)
20.程序编写
求1+22+32+……+1002的结果
_______________________________
_______________________________
_______________________________
_______________________________
input(“运行完毕,请按回车键退出...”)
21.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。
其内容是:
公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?
(1)请在空格处填写正确的代码,使程序完善实现以下功能。
money=100#一共100文钱
num=100#一共100只鸡
cock_price=5#公鸡价格5文
hen_price=3#母鸡价格3文
threechick_price=1#3只小鸡1文
forcock_numinrange(1,_______):
#公鸡只数可能为1-20
forhen_numinrange(1,_________):
#母鸡只数可能为1-33
forchick_numinrange(1,101):
#(3小鸡)只数可能为1-100
money1=cock_num*cock_price+hen_num*hen_price+chick_num/threechick_price
num1=cock_num+hen_num+chick_num
ifmoney1==moneyandnum1==num:
print(cock_num,hen_num,__________)
input("运行完毕,请按回车键退出...")
(2)运行程序,运行结果如图所示。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python语法格式。
不需要缩进的代码顶行写,前面不能留空白;缩进可以用tab键实现,也可以用多个空格实现;严格的缩进可以约束程序结构,可以多层缩进;缩进是代码书写规则
解析:
D
【详解】
本题主要考查Python语法格式。
不需要缩进的代码顶行写,前面不能留空白;缩进可以用tab键实现,也可以用多个空格实现;严格的缩进可以约束程序结构,可以多层缩进;缩进是代码书写规则要求,故本题选D选项。
2.D
【详解】
本题主要考查Python表达式的运算。
逻辑运算符and两边都为真,值才为真,否则为假。
a=2,b=3,a>b值为假,b>=3值为真,故表达式a>bandb>=3的值是False,故
解析:
D
【详解】
本题主要考查Python表达式的运算。
逻辑运算符and两边都为真,值才为真,否则为假。
a=2,b=3,a>b值为假,b>=3值为真,故表达式a>bandb>=3的值是False,故本题选D选项。
3.D
【详解】
本题主要考查Python赋值语句。
“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。
解析:
D
【详解】
本题主要考查Python赋值语句。
“5s”不是一个合法的变量名,不能将变量x赋给一个数值或表达式,可以将s+5赋给变量s,故本题选D选项。
4.D
【详解】
本题考查的是Python表达式。
sqrt()求平方根,乘法运算符为“*”,除法为“/”,嵌套函数均使用小括号。
表示为(-b+math.sqrt(b*b–4*a
解析:
D
【详解】
本题考查的是Python表达式。
sqrt()求平方根,乘法运算符为“*”,除法为“/”,嵌套函数均使用小括号。
表示为(-b+math.sqrt(b*b–4*a*c))/(2*a)。
5.C
【详解】
本题考查的是数据类型。
布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。
NO.2020100502有数字有字母等,故应定义为字符串型。
选项C正确
解析:
C
【详解】
本题考查的是数据类型。
布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。
NO.2020100502有数字有字母等,故应定义为字符串型。
选项C正确。
6.D
【详解】
本题考查的是Python的选择嵌套语句。
先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。
15000不小于等于10000,故执行tax=800
解析:
D
【详解】
本题考查的是Python的选择嵌套语句。
先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。
15000不小于等于10000,故执行tax=800+(salary-1000)*0.4=800+(15000-10000)*0.4=800+2000=2800.0。
因为salary接收的是浮点型数据。
salary-tax=15000-2800.0=12200.0。
故选项D正确。
7.B
【详解】
本题主要考查Python语句执行。
语句X=123+678是整型类型运算,值为801;语句St="123"+"678"是字符串运算,直接拼接,值为"123678",故本题选B选项。
解析:
B
【详解】
本题主要考查Python语句执行。
语句X=123+678是整型类型运算,值为801;语句St="123"+"678"是字符串运算,直接拼接,值为"123678",故本题选B选项。
8.A
【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。
故本题选A选项
解析:
A
【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。
故本题选A选项
9.C
【详解】
本题主要考查Python程序的执行。
x=123+678=801,st="123"+"678"="123678"(字符串类型相加等于字符串的拼接),故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
x=123+678=801,st="123"+"678"="123678"(字符串类型相加等于字符串的拼接),故本题选C选项。
10.D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
解析:
D
【详解】
本题主要考查Python常用函数。
abs(x)是返回x的绝对值,float()函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。
11.B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.
解析:
B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.py为扩展名;python文件不能直接在命令行中运行,故本题选B选项。
12.B
【详解】
本题主要考查计算机文件存储结构。
由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子
解析:
B
【详解】
本题主要考查计算机文件存储结构。
由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子树(子结点);图中Tools是python34的子树(子结点),故本题选B选项。
13.D
【详解】
本题考查的是Python表达式。
**是幂次方优先级最高,%是求余。
8+7%2**2=8+7%4=8+3=11,print是输出语句。
故选项D正确。
解析:
D
【详解】
本题考查的是Python表达式。
**是幂次方优先级最高,%是求余。
8+7%2**2=8+7%4=8+3=11,print是输出语句。
故选项D正确。
14.B
【详解】
本题主要考查Python程序的执行。
第一遍循环,x=(0+2)*(0+3)=6;第二遍循环x=(6+2)*(6+3)=72,不满足x<50,退出循环,故
解析:
B
【详解】
本题主要考查Python程序的执行。
第一遍循环,x=(0+2)*(0+3)=6;第二遍循环x=(6+2)*(6+3)=72,不满足x<50,退出循环,故运行后,x的值为72,故本题选B选项。
15.D
【详解】
本题主要考查Python程序的执行。
a=len(f)=3,故print(‘a=’,a)的结果是a=3,故本题选D选项。
解析:
D
【详解】
本题主要考查Python程序的执行。
a=len(f)=3,故print(‘a=’,a)的结果是a=3,故本题选D选项。
二、程序填空
16.自然语言确保m>=nr!
=0
【详解】
本题主要考查算法及Python程序实现。
①描述一是自然语言描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
②在描述三中代码4到6行,当m=n。
③由题干可知,循环条件是余数r不等于0,故代码第8行划线处为r!
=0。
17.xcj
【详解】
本题主要考查Python程序执行与调试。
①从键盘输入10个学生的测试成绩,range(a,b)的范围是从a~b,但不包括b,故第一空填10。
②每输入一个数x,将其通过append函数加到列表cj中,故第二空填x。
③求最大值用max函数,求最小值用min函数,故第三空填cj。
18.CAB
【详解】
本题主要考查队列数据结构及Python程序。
①队列是从队头出队,队尾入队,使用pop函数出队,队头的索引值是0,故此处填boy.pop(0),girl.pop(0)。
②队列入队使用append方法追加到队列尾,此处是男生入队boy.append(x),故选A选项。
③同理,此处是女生入队girl.append(y),故选B选项。
19.range(1,33)g+m+x==1005*g+3*m+x/3
【详解】
本题考查的是算法中的经典问题。
百鸡百钱问题是典型的枚举算法解决,枚举算法的关键就是找到问题解决的条件和枚举范围。
20.total=0#变量可任选(符合规则)foriinrange(1,101):
total=total+i*i#total=total+i**2print(total)
【详解】
本题主要考查Python程序的编写。
①变量total用来统计最终的计算结果,其初始值为0,故填total=0#变量可任选(符合规则)。
②求1+22+32+……+1002的结果,用for循环结构,变量i的范围是从1到100,故填foriinrange(1,101):
。
③计算语句是total=total+i*i#total=total+i**2。
④最后用print()函数输出计算结果total,故填print(total)。
21.34chick_num
【详解】
本题主要考查Python程序的执行。
①公鸡数量的范围1-20,forcock_numinrange(1,21)表示变量cock_num的范围是1-20,故此处填21。
②母鸡的数量可能为1-33,同理,故此处填34。
③此处是按顺序使用print()函数输出公鸡数量、母鸡数量、小鸡数量,故此处填chick_num。