python软件编程等级考试二级编程实操题图文.docx
《python软件编程等级考试二级编程实操题图文.docx》由会员分享,可在线阅读,更多相关《python软件编程等级考试二级编程实操题图文.docx(16页珍藏版)》请在冰点文库上搜索。
![python软件编程等级考试二级编程实操题图文.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/0ebc375a-b218-49fd-a7ff-bf7786701d28/0ebc375a-b218-49fd-a7ff-bf7786701d281.gif)
python软件编程等级考试二级编程实操题图文
python软件编程等级考试(二级)编程实操题图文
一、选择题
1.已知下列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
2.已知字符串a="python",则a[1:
3]的值为()
A."pyth"B."pyt"C."py"D."yt"
3.现有如下Python程序:
List=["Happy","new","year!
"]
s=List[1]
d=s[:
-1]
执行该程序后,d的值为()
A."py"B."Happ"C."ew"D."ne"
4.在编写python程序时缩进的作用是()。
A.让程序更美观B.只在for循环中使用
C.只在if语句中使用D.用来界定代码块
5.计算机能直接接收和执行的程序设计语言为()
A.VisualBasic语言B.Python语言C.机器语言D.自然语言
6.韦沐沐同学利用Python软件编制程序。
初始时,他使用流程图描述算法,在设计输入、输出数据时使用的图例是()
A.
B.
C.
D.
7.在python中,Int()函数的功能是返回不大于x的最大整数,设a=3,b=4,c=5,则下列表达式的运算结果中值最大的是()
A.math.sqrt(b)B.abs(a-b)C.Int(2*a-c/b)D.a**2+b**2-c**2
8.王明编写了Python程序,根据输入的体重和身高计算BM值并显示是否超标。
王明体重80kg,身高170cm。
其中“体重80kg”“身高170cm”是对王明体重身高的符号记录属于()
A.数据B.信息C.知识D.智慧
9.下面哪个不是Python合法的标识符()
A.int_3B.30XLC.selfD._abc
10.Python不支持的数据类型有()。
A.charB.intC.floatD.list
11.下列不被python所支持的数据类型是()
A.charB.floatC.intD.list
12.利用Python求100以内所有能被3整除的正整数,代码如下:
则下列程序第3行的横线应该填()
A.i=i*3B.i=i%3C.i%3==0D.i/3==1
13.利用Word软件编辑了一篇关于“Python简介”的文档,部分界面如图所示,下列说法正确的是()
A.该文档中的有2个用户添加了2处批注
B.该文档中图片采用的环绕方式为上下型
C.该文档中总共有4处修订
D.若要对文档中所有的“Python”文字设置为“红色倾斜”格式,用自动更正功能最合适
14.已知列表list1=[88,22,34,89,67],则python表达式min(list1)的值为()
A.22B.88C.89D.67
15.下列Python表达式的值不是2的是()。
A.3%2B.5//2C.1*2D.1+3/3
二、程序填空
16.阅读程序。
分析以下两段Python程序并回答问题。
#程序1
i=1
whilei<101:
print('把这句话打印100遍')
i+=1
#程序2
i=100
whilei:
print('把这句话打印100遍')
i=i-2
(1)在程序1中,i+=1这句话的含义是______________。
(2)在程序1中,‘把这句话打印100遍’实际输出了_____遍。
(3)在程序2中,i的初值是___。
(4)在程序2中,‘把这句话打印100遍’实际输出了_____遍。
(5)在程序2中,whilei的含义是_________。
17.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。
编写python程序,实现如下功能:
输入n的值,统计显示n以内的所有双胞胎数。
程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。
importmath
defisprime(x):
______
foriinrange(2,int(math.sqrt(x))+1):
ifx%i==0:
f=False
returnf
n=int(input("请输入一个正整数n:
"))
c=0
k=3
whilek<=n-2:
ifisprime(k)and______________:
c+=1
print("第"+str(c)+"对双胞胎数:
",k,'和',k+2)
_______
print("共有"+str(c)+"对双胞胎数")
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
18.辗转相除法,又称欧几里德算法,用于计算两个正整数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行划线处为__________。
19.程序设计:
键盘输入任意的正整数,程序输出与其相应的二进制数。
代码如下:
n=int(input("请输入一个十进制数:
"))
result=[]
whilen>0:
result.append(①)
n=②
result.reverse()
foriinresult:
print(i,end=”)
(1)程序代码中①处正确的代码是(_______)。
A.n%2B.n/2C.n//2D.n*2
(2)程序代码中②处可能的代码是(_______)。
A.n%2B.n/2C.n//2D.n*2
20.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:
今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。
凡百钱,买鸡百只。
问鸡翁、母、雏各几何?
这个问题就是著名的“百钱买百鸡问题”。
即:
现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:
公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。
问公鸡、母鸡和小鸡各几何?
(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
forginrange(1,20):
formin_______:
forxinrange(3,98,3):
if_________and__________==100:
print("公鸡:
",g,"母鸡:
",m,"小鸡:
",x)
21.阅读程序。
分析有关多项式的代码并回答问题。
求1!
+2!
+3!
+……+20!
的和。
n=0
s=0
t=1
forninrange(1,21):
t*=n
s+=t
print(s)
(1)n的作用是________________。
(2)s的作用是______________。
(3)t的初值必须赋值为1,这是因为_________。
(4)t*=n的等价语句是__________
(5)s+=t的等价语句是______。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.B
【详解】
本题主要考查Python程序的执行。
分析代码可知,k=16,17,18时,x=1;k=19,20时,x=0;k=13,14,15时,x=4;k取1~12时,x=5,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序的执行。
分析代码可知,k=16,17,18时,x=1;k=19,20时,x=0;k=13,14,15时,x=4;k取1~12时,x=5,故本题选B选项。
2.D
【详解】
本题主要考查Python字符串。
a[1:
3]取字符串索引第一个到第三个字符(不包括第三个),故a[1:
3]的值为"yt",故本题选D选项。
解析:
D
【详解】
本题主要考查Python字符串。
a[1:
3]取字符串索引第一个到第三个字符(不包括第三个),故a[1:
3]的值为"yt",故本题选D选项。
3.D
【详解】
本题主要考查Python列表运算。
s=List[1]="new",d=s[:
-1]="ne"(表示去除字符串s最后一个字符剩下的部分),故本题选D选项。
解析:
D
【详解】
本题主要考查Python列表运算。
s=List[1]="new",d=s[:
-1]="ne"(表示去除字符串s最后一个字符剩下的部分),故本题选D选项。
4.D
【详解】
本题考查的是Python语句格式。
在编写python程序时,缩进可以使得代码非常整齐规范,赏心悦目,提高可读性,因此作用是用来界定代码块。
故本题应选D。
解析:
D
【详解】
本题考查的是Python语句格式。
在编写python程序时,缩进可以使得代码非常整齐规范,赏心悦目,提高可读性,因此作用是用来界定代码块。
故本题应选D。
5.C
【详解】
本题主要考查程序设计语言。
VisualBasic语言、Python语言是高级语言,计算机能直接接收和执行的程序设计语言为机器语言,故本题选C选项。
解析:
C
【详解】
本题主要考查程序设计语言。
VisualBasic语言、Python语言是高级语言,计算机能直接接收和执行的程序设计语言为机器语言,故本题选C选项。
6.D
【详解】
本题考查的是流程图相关知识。
圆角矩形用来表示程序的开始和结束,矩形用来表示处理框,菱形用来表示判断,平行四边形用来表示输入、输出。
故本题应选D。
解析:
D
【详解】
本题考查的是流程图相关知识。
圆角矩形用来表示程序的开始和结束,矩形用来表示处理框,菱形用来表示判断,平行四边形用来表示输入、输出。
故本题应选D。
7.C
【详解】
本题主要考查Python表达式的运算。
设a=3,b=4,c=5,math.sqrt(b)=2,abs(a-b)=abs(-1)=1,Int(2*a-c/b)=Int(4.75)=4,
解析:
C
【详解】
本题主要考查Python表达式的运算。
设a=3,b=4,c=5,math.sqrt(b)=2,abs(a-b)=abs(-1)=1,Int(2*a-c/b)=Int(4.75)=4,a**2+b**2-c**2=9+16-25=0,故运算结果中值最大的是Int(2*a-c/b),故本题选C选项。
8.A
【详解】
本题考查的是数据的定义。
数据是客观事物的符号记录,是信息的载体,是计算机加工的对象。
“体重80kg”、“身高170cm”是对王明体重身高的符号记录属于数据。
故本题应选A。
解析:
A
【详解】
本题考查的是数据的定义。
数据是客观事物的符号记录,是信息的载体,是计算机加工的对象。
“体重80kg”、“身高170cm”是对王明体重身高的符号记录属于数据。
故本题应选A。
9.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故30XL不是Python合法的标识符,故本题选B选项。
10.A
【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。
故本题选A选项
解析:
A
【详解】
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。
故本题选A选项
11.A
【详解】
本题主要考查Python数据类型。
Python没有char类型,一个字符也是字符串,故本题选A选项。
解析:
A
【详解】
本题主要考查Python数据类型。
Python没有char类型,一个字符也是字符串,故本题选A选项。
12.C
【详解】
本题主要考查Python程序的执行。
该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3==0,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3==0,故本题选C选项。
13.C
【详解】
本题考查WORD相关知识。
该文档中的有1个用户a添加了2处批注,A错。
该文档中图片采用的环绕方式为四周或者紧密,但不是上下型,B错。
若要对文档中所有的Python文字设置为红色倾斜格式
解析:
C
【详解】
本题考查WORD相关知识。
该文档中的有1个用户a添加了2处批注,A错。
该文档中图片采用的环绕方式为四周或者紧密,但不是上下型,B错。
若要对文档中所有的Python文字设置为红色倾斜格式,则用替换功能。
选项C的说法正确。
14.A
【详解】
本题主要考查Python列表。
min是返回列表中的最小值,列表list1=[88,22,34,89,67],则python表达式min(list1)的值为22,故本题选A选项。
解析:
A
【详解】
本题主要考查Python列表。
min是返回列表中的最小值,列表list1=[88,22,34,89,67],则python表达式min(list1)的值为22,故本题选A选项。
15.A
【详解】
本题主要考查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选项。
二、程序填空
16.i=i+1无数遍100无数遍i!
=0或i>0或其他等价答案
【详解】
本题主要考查Python程序的执行与调试。
①在程序1中,i+=1这句话的含义是i=i+1(即i递增1)。
②i的初值为1,while循环条件i<101为真,会一直执行循环体,无法跳出循环体执行i+=1,故‘把这句话打印100遍’实际输出了无数遍。
③在程序2中,i的初值是100。
④i=100,whilei(即while100)一直为真,会一直执行循环体,无法跳出循环体执行i=i-2,故‘把这句话打印100遍’实际输出了无数遍。
⑤在程序2中,whilei的含义是i!
=0或i>0或其他等价答案
17.f=Trueisprime(k+2)k=k+1或k+=1或k=k+2或k+=2
【详解】
本题主要考查Python程序的执行与调试。
①isprime(x)用来判断x是不是素数,通过用x整除2~int(math.sqrt(x)),如果余数为0则表明该数不是素数,赋值f为假退出循环,f的初值为True,故第一空填f=True。
②若两个素数之差为2,则该对素数称为双胞胎数,此处判断相差为2的两个数是不是素数,故第二空填isprime(k+2)。
③素数都是奇数,此处需要更新k的值继续循环判断,可以将k的值递增1或递增2,故填k=k+1或k+=1或k=k+2或k+=2。
18.自然语言确保m>=nr!
=0
【详解】
本题主要考查算法及Python程序实现。
①描述一是自然语言描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
②在描述三中代码4到6行,当m=n。
③由题干可知,循环条件是余数r不等于0,故代码第8行划线处为r!
=0。
19.AC
【详解】
本题主要考查Python程序设计。
①此处将n取余2,用append函数将值追加到列表result中,故此处填n%2,选A选项。
②当n大于0时,n整除2继续循环,循环结束使用reverse函数,将result列表中的元素逆转,故此处填n//2,选C选项。
20.range(1,33)g+m+x==1005*g+3*m+x/3
【详解】
本题考查的是算法中的经典问题。
百鸡百钱问题是典型的枚举算法解决,枚举算法的关键就是找到问题解决的条件和枚举范围。
21.计算每一项的阶乘记录阶乘相加后的和t记录的是每一项阶乘的结果,t*=n即t=t*n,t初值为1,能计算出每项的阶乘结果,若为0,则每项的阶乘结果都是0,不符合题意。
t=t*ns=s+t
【详解】
本题考查的是python语言编程。
本题考查的是1-20阶乘的求和。
本题的重点是要先计算出对应的每一项阶乘的结果t,然后20项阶乘的结果记录在s中。
在此过程中既要考虑到累乘求阶乘结果,又要考虑到累加求所有阶乘的和。
初值n=0,在1-21的循环过程中,记录每一项的阶乘,s=0记录阶乘累加的和,t=1记录每一项阶乘的结果。
每求一次阶乘就要进行一次求和,故语句t*=n,s+=t均在“forninrange(1,21):
”的循环体内。