1、试题完整版python二级考试试题3试题(完整版)python二级考试试题3一、选择题1以下对 Python 程序缩进格式描述错误的选项是( )A不需要缩进的代码顶行写,前面不能留空白B缩进可以用 tab 键实现,也可以用多个空格实现C严格的缩进可以约束程序结构,可以多层缩进D缩进是用来格式美化 Python 程序的2关于下列Python程序段的说法正确的是( )k=1while 1: k+=1A存在语法错误,不能执行 B执行1次 C执行无限次 D执行k次3运行下列Python程序,输出结果为True,则空白处应为( )a=15b=46if_: print(True)else:print(Fl
2、ase)Aa=b Bab Cab Da=b4王明同学运用 Python语言编写程序,根据输入的体重和身高计算BM值并验算其体重指数是否超标,属于( )A数据 B信息 C知识 D智慧5有python程序如下a=int(input()b=int(input()c=input()if c=+: print(a+b)elif c=-: print(a-b)elif c=*: print(a*b)elif c=/: print(a/b)else:print(“输入错误,请重试”)当程序运行后,小新依次输入 9 2 *程序输出结果应为( )A18 B11 C7 D46下面哪个不是Python合法的标识符(
3、 )Aint_3 BprintCcount D_name_7以下Python程序运行后,变量x和st的值分别是( )。A801 123678 B801 “123678” C801 801 D123678 “123678”8在python中运行print(“3+6”)的结果是( )。A9 B“3+6” C3+6 D“9”9下面Python代码运行后,a、b的值为( )a=23b=int(a/10)a= a-b * 10print(a,b)A23 2 B3 2 C3 20 D2 310如下Python程序段for i in range(1,4): for j in range(0,3): prin
4、t (Python)语句print (Python)的执行次数是( )A3 B4 C6 D911下列Python表达式的值不是2的是( )。A3%2 B5/2 C1*2 D1+3/312下列哪个语句在Python中是非法的?( )Ax=y=z=1 Bx=(y=z+1) Cx,y=y,x Dx+=y13下列可以作为python变量名的是( )A5x Bx-1 Cif Dx_114在Python中,判断n是否为偶数的表达式是( )An/2=0Bn%2=0Cn%2=0Dn/2=015以下是一段python程序:它的可以用哪个流程图表达( )。A BC二、程序填空16(项目情境)递归就是自己调用自己,
5、它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。一般情况下,规模N=1时,问题的解是已知的。已知:从1到n的连续自然数相乘的积、叫做阶乘、用符号n!表示。如5!=12345,规定0!=1。我们用递归算法可以较容易求n的阶乘。求n的阶乘算法可以描述如下:n!=n*(n-1)! (n-1)!=(n-1)*(n-2)! (n-2)!=(n-2)*(n-3)!2!=2*1! 1!=0!
6、0!=1如果把n!写成函数形式,即f(n),f(n)=n*f(n-1)。如f(5)就是表示5!,求5!的过程可以写成如下形式:f(5)=5*f(4) f(4)=4*f(3) f(3)=3*f(2) f(2)=2*f(1) f(1)=1(问题求解)在python中用递归算法求1!+2!+n!(n的值为整数,从键盘输入)。请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。def f(n): if n=0: return 1 else: return _s=0n=int(input(请输入n:)for i in_: s=_print(s)17输入n,计算s=1!+2!+.+n!的未6位(不
7、含前导0)。N=1000000,n!表示前n个正整数之积。18猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。19分析完善程序已知包含25项的数列: 1,2/3,3/5,.,24/47,25/49。问题1 :写出该数列的通项公式f(n)= _问题2 :以下是计算S=1+ 2/3+3/5+ . + 24/47+ 25/49的程序,请补全代码:s=0for i in range(1,26): s=s+ print(“s=
8、”,s)补充完成上述通项公式和程序:f(n)=_20以下是计算s = 1+6+11+.+ 101的程序代码,请补全程序。s=0for i in range(1,102, ):s=print( s)请补充完成上述程序_ _21请在空格处填写正确的代码,使程序完善。实现功能:用辗转相除法求解两个正整数的最大公约数。x = int(input(请输入第一个正整数:)y = int(input(请输入第二个正整数:)m = max(x,y) #找出x,y中的最大值n = min(x,y) #找出x,y中的最小值r = m%n #求得最大值除以最小值后的余数while r!=0: #如果余数不等0,则进
9、行以下循环 m =_ #把最小值赋给m n =_ #把余数赋给n r = m%n #求得最大值除以最小值后的余数print(这两个数的最大公约数为:,_)input(运行完毕,请按任意键退出.)【参考答案】*试卷处理标记,请不要删除一、选择题1D【详解】本题主要考查Python语法格式。不需要缩进的代码顶行写,前面不能留空白;缩进可以用 tab 键实现,也可以用多个空格实现;严格的缩进可以约束程序结构,可以多层缩进;缩进是代码书写规则解析:D【详解】本题主要考查Python语法格式。不需要缩进的代码顶行写,前面不能留空白;缩进可以用 tab 键实现,也可以用多个空格实现;严格的缩进可以约束程序
10、结构,可以多层缩进;缩进是代码书写规则要求,故本题选D选项。2C【详解】本题主要考查Python程序while循环。while 1是一直为真,故 k+=1会执行无限次,故本题选C选项。解析:C【详解】本题主要考查Python程序while循环。while 1是一直为真,故 k+=1会执行无限次,故本题选C选项。3C【详解】本题考查Python程序调试ab时,执行print(True)。故本题选C选项解析:C【详解】本题考查Python程序调试ab时,执行print(True)。故本题选C选项4D【详解】本题考查数据、信息、知识、智慧的概念。数据经过加工,可表达某种意义,则转变为信息;信息经过加
11、工,可用于指导实践,则转变为知识;智慧是人类基于已有的知识,针对物质世界运动过程中产生的问题解析:D【详解】本题考查数据、信息、知识、智慧的概念。数据经过加工,可表达某种意义,则转变为信息;信息经过加工,可用于指导实践,则转变为知识;智慧是人类基于已有的知识,针对物质世界运动过程中产生的问题根据获得的信息进行分析,对比,演绎找出解决方案的能力。而本题中根据身高和体重提供的数据信息,结合Python知识编写相应的程序,从而进行算法设计程序编写来解决实际问题。故属于智慧,选项D正确。5A【详解】本题考查Python程序段。当程序运行后,小新依次输入9 2 *,即a=9,b=2,c=*,则elif
12、c=*:成立,执行print(a*b),结果为18,故本题选A。解析:A【详解】本题考查Python程序段。当程序运行后,小新依次输入9 2 *,即a=9,b=2,c=*,则elif c=*:成立,执行print(a*b),结果为18,故本题选A。6B【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。print是Python的关键字,不是合法的标识符,故本题选B选项。解析:B【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。print是Python的关键字,不
13、是合法的标识符,故本题选B选项。7B【详解】本题主要考查Python语句执行。语句X=123+678是整型类型运算,值为801;语句St=123+678是字符串运算,直接拼接,值为123678,故本题选B选项。解析:B【详解】本题主要考查Python语句执行。语句X=123+678是整型类型运算,值为801;语句St=123+678是字符串运算,直接拼接,值为123678,故本题选B选项。8C【详解】本题考查的是python中print函数。print(str)#str是任意一个字符串,数字等。“3+6”是字符串故输出为:3+6,选项C正确。解析:C【详解】本题考查的是python中print
14、函数。print(str)#str是任意一个字符串,数字等。“3+6”是字符串故输出为:3+6,选项C正确。9B【详解】本题主要考查Python程序的执行。a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2解析:B【详解】本题主要考查Python程序的执行。a=23,b=int(a/10)=2(int(x)是返回不大于x的最大整数),a=a-b*10=23-2*10=3,故代码运行后,a、b的值为3和2,故本题选B选项。10D【详解】本题主要考查Python程序的执行。外循环变量i的范围是1-3,
15、内循环变量j的范围是0-2,故语句print (Python)的执行次数是3*3=9,故本题选D选项。解析:D【详解】本题主要考查Python程序的执行。外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print (Python)的执行次数是3*3=9,故本题选D选项。11A【详解】本题主要考查Python表达式的运算。3%2=1,5/2=2,1*2=2,1+3/3=2,故本题选A选项。解析:A【详解】本题主要考查Python表达式的运算。3%2=1,5/2=2,1*2=2,1+3/3=2,故本题选A选项。12B【详解】本题主要考查Python程序的语句。x=y=z=1(给变量x
16、、y、z均赋值为1),x,y=y,x(交换x和y的值),x+=y等价于x=x+y,x=(y=z+1)是非法的语句,故本题选B解析:B【详解】本题主要考查Python程序的语句。x=y=z=1(给变量x、y、z均赋值为1),x,y=y,x(交换x和y的值),x+=y等价于x=x+y,x=(y=z+1)是非法的语句,故本题选B选项。13D【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故x_1可以作为Python变量名,故本题选D选项。解析:D【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,
17、不能包含特殊符号,不能是关键字。故x_1可以作为Python变量名,故本题选D选项。14B【详解】本题主要考查Python表达式的运算。Python中取余符号是“%”,“=”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2=0,故本题选B选项。解析:B【详解】本题主要考查Python表达式的运算。Python中取余符号是“%”,“=”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2=0,故本题选B选项。15B【详解】本题主要考查算法流程图知识点。程序代码中有双分支语句if else。所以选B绘制有分支流程图,故本题选B选项。解析:B【详解】本题主要考查算法流
18、程图知识点。程序代码中有双分支语句if else。所以选B绘制有分支流程图,故本题选B选项。二、程序填空16n*f(n-1) range(1,n+1) s+f(i) 【详解】本题主要考查Python程序的执行与调试。此处是定义递归函数f(n),由题干,当n=0时,返回1,否则返回n*f(n-1),故此处填n*f(n-1)。用递归算法求1!+2!+n!,故变量i的范围应是1n,for i in range(1,n+1)表示i的范围是1,n,故此处填range(1,n+1)。循环体实现累加,将每一项阶乘f(i)加到s中,故此处填s+f(i)。17s=0n=eval(input( 请输入一个数:)f
19、or i in range(0,n): f=1 for j in range(1,i): f=f*j s+=fprint(s%1000000)【详解】本题主要考查Python程序设计。可以通过嵌套for循环实现题干要求,外层循环进行求和,内层循环实现阶乘,具体代码如下:s=0n=eval(input( 请输入一个数:)for i in range(0,n): f=1 for j in range(1,i): f=f*j s+=fprint(s%1000000)18s=1for i in range(9): s=(s+1)*2print(s)【详解】本题主要考查Python程序设计。第10天,只
20、剩下一个桃子s=1,由题干每天早上都吃了前一天剩下的一半零一个,则第9天剩下的桃子为(s+1)*2,可以通过for循环求得第一天共摘了多少个桃子,具体代码如下:s=1for i in range(9): s=(s+1)*2print(s)19n/(2*n-1)或n/(n*2-1) i/(2*i-1) 或 i/(i*2-1) 【详解】本题主要考查Python程序的执行与调试。分析数列可知,分子第n项是n,分母第n项是2*n-1,故该数列的通项公式f(n)=n/(2*n-1)或n/(n*2-1)。此处是对前n项进行求和,变量是i,使用语句s=s+i/(2*i-1) 或s=s+ i/(i*2-1),
21、故此处填i/(2*i-1) 或 i/(i*2-1)。20s+i 【详解】本题主要考查Python循环结构。题目要求计算1、6、11. 101等差数列之和,其中公差为5,因此为5;s变量用于记录等差数列之和,需进行累加计算,因此为s+i。【点睛】21n r n 【详解】本题考查的是Python循环语句。辗转相除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。 由n = min(x,y) 可知最小值为n,故处为n,由r = m%n 可知余数为r,故处为r,最后的除数是n(即最大公约数为n),故处为n。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1