python试题答案优质.docx

上传人:b****3 文档编号:10385446 上传时间:2023-05-25 格式:DOCX 页数:19 大小:90.85KB
下载 相关 举报
python试题答案优质.docx_第1页
第1页 / 共19页
python试题答案优质.docx_第2页
第2页 / 共19页
python试题答案优质.docx_第3页
第3页 / 共19页
python试题答案优质.docx_第4页
第4页 / 共19页
python试题答案优质.docx_第5页
第5页 / 共19页
python试题答案优质.docx_第6页
第6页 / 共19页
python试题答案优质.docx_第7页
第7页 / 共19页
python试题答案优质.docx_第8页
第8页 / 共19页
python试题答案优质.docx_第9页
第9页 / 共19页
python试题答案优质.docx_第10页
第10页 / 共19页
python试题答案优质.docx_第11页
第11页 / 共19页
python试题答案优质.docx_第12页
第12页 / 共19页
python试题答案优质.docx_第13页
第13页 / 共19页
python试题答案优质.docx_第14页
第14页 / 共19页
python试题答案优质.docx_第15页
第15页 / 共19页
python试题答案优质.docx_第16页
第16页 / 共19页
python试题答案优质.docx_第17页
第17页 / 共19页
python试题答案优质.docx_第18页
第18页 / 共19页
python试题答案优质.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

python试题答案优质.docx

《python试题答案优质.docx》由会员分享,可在线阅读,更多相关《python试题答案优质.docx(19页珍藏版)》请在冰点文库上搜索。

python试题答案优质.docx

python试题答案优质

python试题答案优质

一、选择题

1.python单行注释和多行注释分别是什么?

()

A.""""""和''''''B.#和""""""C.//和''''''D.#和//

2.在python中,有程序如下

A=input()

print(A*5)

通过键盘输入5,则运算结果是()

A.55555B.25C.5*5D.55

3.韦沐沐同学利用Python软件编制程序。

初始时,他使用流程图描述算法,在设计输入、输出数据时使用的图例是()

A.

B.

C.

D.

4.在Python中,input()函数的返回结果的数据类型为()

A.Number型B.String型C.List型D.Sets型

5.以下python程序段执行后,输出结果为()

m=29

Ifm%3!

=0:

print(m,"不能被3整除")

else:

print(m,"能被3整除")

A.29不能被3整除B.m不能被3整除C.29能被3整除D.m能被3整除

6.有python程序如下

a=int(input())

b=int(input())

c=input()

ifc=='+':

print(a+b)

elifc=='-':

print(a-b)

elifc=='*':

print(a*b)

elifc=='/':

print(a/b)

else:

print(“输入错误,请重试”)

当程序运行后,小新依次输入92*

程序输出结果应为()

A.18B.11C.7D.4

7.下面哪个不是Python合法的标识符( )

A.int32B.40XLC.selfD.__name__

8.以下属于计算机高级语言的是()

A.PythonB.自然语言C.汇编语言D.机器语言

9.下列选项中,不能作为python程序变量名的是()

A.abcB.abc123C.123abcD.abc__123

10.Python不支持的数据类型有()。

A.charB.intC.floatD.list

11.运行如下Python程序,结果为()。

A.1B.3C.6D.18

12.Python中,赋值语句,“c=c-b”等价于()

A.b-=c

B.c-b=c

C.c-=b

D.c==c-b

13.在Python中,判断n是否为偶数的表达式是()

A.n/2=0

B.n%2==0

C.n%2=0

D.n/2==0

14.在python语言中,下列表达式中不是关系表达式()

A.m==nB.m>=nC.mornD.m!

=n

15.下列python表达式结果最小的是()

A.2**3//3+8%2*3B.5**2%3+7%2**2C.1314//100%10D.int("1"+"5")//3

二、程序填空

16.现今信息化时代,信息的传输十分迅速,足不出户便知天下事。

许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发生的热门事件。

但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。

小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的python把各个平台的热点排行榜进行合并,形成自己的热点排行榜。

为了热点之间比较方便,小钟设置了一个热度值来衡量一个热点的热度大小,热度值越大说明这个热点的热度越高。

现在小钟已经获得了如下两个平台的热度值从小到大的排行榜,正当他打算将之合并为一个从小到大的排行榜时,却被老师叫走了。

于是他决定把这个小功能交给他的好朋友——你来实现,你想到2种算法,请把下列程序填写完整。

A

P10

P9

P8

P7

P6

P5

P4

P3

P2

P1

11

66

116

329

438

582

652

714

756

925

B

E10

E9

E8

E7

E6

E5

E4

E3

E2

E1

35

116

215

271

309

428

576

772

806

950

Python程序如下:

A=[11,66,116,329,438,582,652,714,756,925]

B=[35,116,215,271,(5)__,428,576,772,806,950]

算法一:

myRank=

i=0

j=0

while(i

if(A[i]

(6)______

i+=1

else:

myRank.append(B[j])

j+=1

while(i

myRank.append(A[i])

i+=1

else:

while((7)______):

myRank.append(B[j])

j+=1

print(myRank)

算法二:

myRank=[0]*(len(A)+len(B))

i=0

j=0

k=0

while((8)_____):

k=i+j

if(i>=len(A)):

myRank[k]=B[j]

j+=1

elif(j>=len(B)):

myRank[k]=A[i]

i+=1

elif((9)_____):

myRank[k]=A[i]

i+=1

else:

myRank[k]=B[j]

j+=1

print(myRank)

17.某种数据加密方法描述如下(加密前数据是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

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.操作说明:

编写一个程序实现以下功能,将程序以“Y:

/3/3.py”作为文件名保存。

题目:

设计100以内的数中能同时被3或5整除的个数。

20.编写程序,实现从键盘输入数据,数据前三位的ASCII值加2,从第四位开始ASCII值加3。

21.哥德巴赫在1742年提出了以下猜想:

任何一个大于2的偶数都可以写成两个质数之和,请完善代码帮助哥德巴赫验证他的猜想。

importmath

defss(n):

Flag=True

i=2

whilei<=int(math.sqrt(n))andFlag:

if_____________

Flag=False

_____________

returnFlag

n=int(input(“输入一个大于2的偶数”))

foriinrang(2,n//2+1):

if____________

print(str(n)+"="+str(i)+"+"+str(n-i))

如果输入“8”则结果显示_____

【参考答案】***试卷处理标记,请不要删除

 

一、选择题

1.B

【详解】

本题主要考查Python注释。

python单行注释和多行注释分别是#和"""""",故本题选B选项。

解析:

B

【详解】

本题主要考查Python注释。

python单行注释和多行注释分别是#和"""""",故本题选B选项。

2.A

【详解】

本题考查Python算法及其程序实现。

input()函数接收的是字符串,故print(A*5)时,输出5个A里存储的字符串。

通过键盘输入5,则运算结果是:

55555,选项

解析:

A

【详解】

本题考查Python算法及其程序实现。

input()函数接收的是字符串,故print(A*5)时,输出5个A里存储的字符串。

通过键盘输入5,则运算结果是:

55555,选项A正确。

3.D

【详解】

本题考查的是流程图相关知识。

圆角矩形用来表示程序的开始和结束,矩形用来表示处理框,菱形用来表示判断,平行四边形用来表示输入、输出。

故本题应选D。

解析:

D

【详解】

本题考查的是流程图相关知识。

圆角矩形用来表示程序的开始和结束,矩形用来表示处理框,菱形用来表示判断,平行四边形用来表示输入、输出。

故本题应选D。

4.B

【详解】

本题主要考查Python输入函数。

在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。

解析:

B

【详解】

本题主要考查Python输入函数。

在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。

5.A

【详解】

本题主要考查Python程序的执行。

29%3=2,满足if条件,输出结果为29不能被3整除,故本题选A选项。

解析:

A

【详解】

本题主要考查Python程序的执行。

29%3=2,满足if条件,输出结果为29不能被3整除,故本题选A选项。

6.A

【详解】

本题考查Python程序段。

当程序运行后,小新依次输入92*,即a=9,b=2,c=*,则elifc==‘*’:

成立,执行print(a*b),结果为18,故本题选A。

解析:

A

【详解】

本题考查Python程序段。

当程序运行后,小新依次输入92*,即a=9,b=2,c=*,则elifc==‘*’:

成立,执行print(a*b),结果为18,故本题选A。

7.B

【详解】

本题主要考查Python变量的命名。

变量的命名规则有:

只能以字母或下划线开头,不能包含特殊符号,不能是关键字。

故40XL不是Python合法的标识符,故本题选B选项。

解析:

B

【详解】

本题主要考查Python变量的命名。

变量的命名规则有:

只能以字母或下划线开头,不能包含特殊符号,不能是关键字。

故40XL不是Python合法的标识符,故本题选B选项。

8.A

【详解】

本题考查计算机语言的相关知识点

计算机高级语言有Python、Java等

计算机低级语言有汇编语言

机器语言是计算机直接识别并执行的语言。

故本题选A选项

解析:

A

【详解】

本题考查计算机语言的相关知识点

计算机高级语言有Python、Java等

计算机低级语言有汇编语言

机器语言是计算机直接识别并执行的语言。

故本题选A选项

9.C

【详解】

本题考查的是python的变量命名。

python的变量名是由数字、字母、下划线组成,并且数字不能打头。

故选项C符合题意。

解析:

C

【详解】

本题考查的是python的变量命名。

python的变量名是由数字、字母、下划线组成,并且数字不能打头。

故选项C符合题意。

10.A

【详解】

本题考查Python数据类型相关的知识点

Python不支持char类型、byte类型。

故本题选A选项

解析:

A

【详解】

本题考查Python数据类型相关的知识点

Python不支持char类型、byte类型。

故本题选A选项

11.C

【详解】

本题主要考查Python循环结构。

分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。

解析:

C

【详解】

本题主要考查Python循环结构。

分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。

12.C

【详解】

本题主要考查Python中常用运算符。

Python中“-=”是减法赋值运算符,c-=b等效于c=c-b,因此C选项正确。

【点睛】

解析:

C

【详解】

本题主要考查Python中常用运算符。

Python中“-=”是减法赋值运算符,c-=b等效于c=c-b,因此C选项正确。

【点睛】

13.B

【详解】

本题主要考查Python表达式的运算。

Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。

解析:

B

【详解】

本题主要考查Python表达式的运算。

Python中取余符号是“%”,“==”是用来判断两个对象的值是否相等,故判断n是否为偶数的表达式是n%2==0,故本题选B选项。

14.C

【详解】

本题主要考查python的表达式。

or属于逻辑运算符,morn不是关系表达式。

故本题选C选项。

解析:

C

【详解】

本题主要考查python的表达式。

or属于逻辑运算符,morn不是关系表达式。

故本题选C选项。

15.A

【详解】

本题主要考查Python表达式的运算。

2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=

解析:

A

【详解】

本题主要考查Python表达式的运算。

2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=3,int("1"+"5")//3=5,故本题选A选项。

二、程序填空

16.myRank.append(A[i])j

【详解】

本题主要考查python编程。

根据表格所示,列表B中第5个元素为309,因此①处为309;A[i]

【点睛】

17.①i<=(Len(s)\8)*8②a(start+c((i-1)Mod8+1))③ss=convert(Asc(b(i)))

【详解】

(1)“A”的ASCII码值是65,用二进制表示为0100001,m=35,用二进制表示为0010001,位做异或运算,相同为0,相异为1,可得:

01100010。

(2)①以8个数据为一段进行分段处理,个数等于8的数据段需进行位置变换,故需进行位置变换的数据段有(Len(s)\8)个,数据个数为i<=(Len(s)\8)*8。

②位置变换方法:

加密后数据段的第ⅰ个元素=原数据段的第c(i)个元素,其中i=1,2,……,8,i表示段内位置。

代码“DoWhilei<=(Len(s)\8)*8”中的i对应段内位置可为“1+(i-1)Mod8”,start表示该数据段第一个数据的前个位置,故数组b第i位置元素是来自数组a第start+c(1+(i*-1)Mod8)位置,故②处代码为“a(start+c(i-1)Mod8+1))”。

③位置变换后的数据需转二进制,再按位做异或运算,故③处的代码是调用自定义函数convert把b(i)中字符的ASCII码转二进制后存入变量ss,故此处代码为“ss=convert(Asc(b(i))”。

18.CAB

【详解】

本题主要考查队列数据结构及Python程序。

①队列是从队头出队,队尾入队,使用pop函数出队,队头的索引值是0,故此处填boy.pop(0),girl.pop(0)。

②队列入队使用append方法追加到队列尾,此处是男生入队boy.append(x),故选A选项。

③同理,此处是女生入队girl.append(y),故选B选项。

19.c=0

print("能同时被3或5整除的数是:

",end="")

foriinrange(1,101):

ifi%3==0andi%5==0:

c+=1

print(i,end="")

print("")

print("能同时被3或5整除的个数是:

"+str(c))

【详解】

本题主要考查Python程序设计。

设计100以内的数中能同时被3或5整除的个数,使用for循环变量i的范围是从1~99,用变量c统计能同时被3或5整除的个数,如果满足if判断条件,则变量c递增,循环完输出c的值,具体代码及运行结果如下:

20.s=input("请输入要转换的字符)

c=len(s)#len求字符串长度

foriinrange(0,c):

ifi<2:

print(chr(ord(s[i])+2))#ordord()函数是chr()函数配对函数,将字符转ASCII值

else:

print(chr(ord(s[i])+3))

【详解】

本题主要考查程序设计。

题干要求可通过Python程序条件分支结构实现,具体代码如下:

s=input("请输入要转换的字符)

c=len(s)#len求字符串长度

foriinrange(0,c):

ifi<2:

print(chr(ord(s[i])+2))#ordord()函数是chr()函数配对函数,将字符转ASCII值

else:

print(chr(ord(s[i])+3))

21.n%i==0:

i+=1ss(i)andss(n-i):

8=3+5

【详解】

本题主要考查Python程序的执行与调试。

①函数ss(n)用来判断n是否为质数,若是则返回True,否则返回False,此处是通过while循环逐个判断n是不是能整除i,故填n%i==0:

②若不满足if条件,则i递增,继续循环判断,故填i+=1。

③此处判断i与n-i是否都是质数,若是,则表明该偶数可以写成两个质数之和,并输出,故填ss(i)andss(n-i):

④如果输入“8”则结果显示8=3+5。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2