python基础试题含答案优质.docx

上传人:b****1 文档编号:12518685 上传时间:2023-04-19 格式:DOCX 页数:18 大小:240.07KB
下载 相关 举报
python基础试题含答案优质.docx_第1页
第1页 / 共18页
python基础试题含答案优质.docx_第2页
第2页 / 共18页
python基础试题含答案优质.docx_第3页
第3页 / 共18页
python基础试题含答案优质.docx_第4页
第4页 / 共18页
python基础试题含答案优质.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

python基础试题含答案优质.docx

《python基础试题含答案优质.docx》由会员分享,可在线阅读,更多相关《python基础试题含答案优质.docx(18页珍藏版)》请在冰豆网上搜索。

python基础试题含答案优质.docx

python基础试题含答案优质

python基础试题(含答案)优质

一、选择题

1.python中表达式4**3=()。

A.12B.1C.64D.7

2.已知字符串a="python",则a[1]的值为()

A."p"B."py"C."Py"D."y"

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

()

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

4.在编写python程序时缩进的作用是()。

A.让程序更美观B.只在for循环中使用

C.只在if语句中使用D.用来界定代码块

5.要利用Python通过数组绘制拟合曲线图,必须要用到的外部库是()

A.time库

B.random库

C.turtle库

D.matplotlib库

6.Python中变量的命名遵循的规则,不正确的是()

A.必须以字母或下划线开头,后面可以是字母、数字或下划线。

B.区分大小写

C.不区分大小写

D.不能使用保留字

7.运行下列Python程序,结果正确的是()

s="abcdefg"

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

foriinrange(0,c):

ifi<2:

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

else:

print(chr(ord(s[i])+3),end="")

A.cdfghaB.cdfghbC.cdfghijD.cdfghc

8.下列有关信息的说法,不正确的是()。

A.Python程序设计语言也是一种信息

B.给微信朋友圈点赞也是一种信息评价方式

C.信息在传输过程中,必须遵循一定的规则

D.对相关数据进行加工处理,使数据之间建立相互联系,从而形成信息

9.在python中,语句print(a,b)的意思是()

A.打印a,bB.输出(a,b)C.输出a,bD.输出a,b的值

10.Python中“ab”+“cd”*2的结果是()。

A.abcd2B.abcdabcdC.abcdcdD.ababcd

11.把数式

写成Python语言的表达式,下列书写正确的是()。

A.a+b/2aB.a+b/2*aC.(a+b)/2*aD.(a+b)/(2*a)

12.运行下列Python程序,输出结果为0,则空白处应为()

a=14

b=7

c=_______

print(c)

A.a-bB.a+bC.a/bD.a%b

13.以下选项中,不是Python中文件操作的相关函数是()。

A.open()B.load()

C.read()D.write()

14.小林编写一段文件读写操作代码,文件如图,代码段如下:

file=open('ceshi.txt','w')

file.write("pythonisaprogramminglanguage.")

file.close()

file=open('ceshi.txt','r')

print(file.read())

该代码段运行后,输出的结果为()

A.IADistributedSystemBasedonPython.

B.pythonisaprogramminglanguage.

C.IADistributedSystemBasedonPython.pythonisaprogramminglanguage.

D.程序编译错误,不会输出结果

15.下列Python程序段运行的结果是()

f=[‘A’,’B’,’C’]

a=len(f)

print(‘a=’,a)

A.a=2B.a=’A’C.a=’C’D.a=3

二、程序填空

16.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。

编写python程序,实现如下功能:

输入n的值,统计显示n以内的所有双胞胎数。

程序运行界面如图所示:

实现上述功能的程序如下,请在划线处填入合适的代码。

defisprime(x):

foriinrange(2,x):

if①__________:

returnFalse

returnTrue

n=int(input(“请输入一个正整数n:

”))

c=0

k=3

whilek<=n-2:

ifisprime(k)and②___________:

print(k,k+2)

③___________

k=k+1

print(“共有”+str(c)+“对双胞胎数”)

17.学校开展“奇妙的数字”研究性学习活动。

张轩小组4人决定把课题定为《探秘水仙花数》。

(1)张轩使用XX搜索引擎搜索到“水仙花数”是这样定义的:

“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:

153=13+53+33,那么这个数就是一个“水仙花数”。

XX属于____搜索引擎(全文,分类)

(2)为了求解100--999这些数字中,哪些数字是“水仙花数”?

张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:

k是可以重新赋值的,k是变量还是常量?

____程序中①处有空缺,请补充完整①处的代码。

____程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。

(3)在研究成果展示环节,张轩小组可以使用什么软件制作《探秘水仙花数》的研究成果报告?

(_____)

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

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

20.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:

能被4整除但不能被100整除或能被400整除,闰年的2月为29天)

day=input("请输入年月日(格式举例:

2000-01-05):

")

year=int(day[:

4])

month=_________

sun=int(day[8:

10])

print(year,month,sun)

f_run=[31,28,31,30,31,30,31,31,30,31,30,31]

tall_day=0

if______:

foriinrange(month-1):

tall_day+=f_run[i]

__________

else:

foriinrange(month-1):

tall_day+=f_run[i]

tall_day+=sun

print(day+"是当年的第"+str(tall_day)+"天")

(1)将程序横线处补充完整

(2)如输入“2020-4-19”为当年的第_____天。

21.调试程序。

请阅读以下程序并写出运行结果。

#ex16.py

i=0

sum=0

whilei<10:

ifi%3==0:

sum+=i

print(i)

i=i+1

print('sum',sum)

_________

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

 

一、选择题

1.C

【详解】

本题考查的是python中表达式相关知识。

在Python算数运算中,*代表乘法,**代表乘方,故4**3=4*4*4=64,故选项C正确。

解析:

C

【详解】

本题考查的是python中表达式相关知识。

在Python算数运算中,*代表乘法,**代表乘方,故4**3=4*4*4=64,故选项C正确。

2.D

【详解】

本题主要考查Python字符串。

字符串索引从0开始,a[0]="p",a[1]="y",故本题选D选项。

解析:

D

【详解】

本题主要考查Python字符串。

字符串索引从0开始,a[0]="p",a[1]="y",故本题选D选项。

3.B

【详解】

本题主要考查Python注释。

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

解析:

B

【详解】

本题主要考查Python注释。

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

4.D

【详解】

本题考查的是Python语句格式。

在编写python程序时,缩进可以使得代码非常整齐规范,赏心悦目,提高可读性,因此作用是用来界定代码块。

故本题应选D。

解析:

D

【详解】

本题考查的是Python语句格式。

在编写python程序时,缩进可以使得代码非常整齐规范,赏心悦目,提高可读性,因此作用是用来界定代码块。

故本题应选D。

5.D

【详解】

本题主要考查Python库。

time库是python处理时间数据的标准库,random库用于生成各种分布的随机数,turtle库是Python语言中一个很流行的绘制图像的函数库,mat

解析:

D

【详解】

本题主要考查Python库。

time库是python处理时间数据的标准库,random库用于生成各种分布的随机数,turtle库是Python语言中一个很流行的绘制图像的函数库,matplotlib库用于绘制曲线图,故本题选D选项。

6.C

【详解】

本题主要考查规则。

Python中变量名可以包括字母、数字、下划线,但是数字不能做为开头,系统关键字不能做变量名使用,除了下划线之个,其它符号不能做为变量名使用,Python的变量名是区

解析:

C

【详解】

本题主要考查规则。

Python中变量名可以包括字母、数字、下划线,但是数字不能做为开头,系统关键字不能做变量名使用,除了下划线之个,其它符号不能做为变量名使用,Python的变量名是区分大小写的。

因此C选项符合题意。

7.C

【详解】

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

c是字符串s的长度,变量i的范围是0~c-1,如果i<2,将该字符后移2位并输出,否则将该字符后移3位并输出,故程序运行的结果是cdfgh

解析:

C

【详解】

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

c是字符串s的长度,变量i的范围是0~c-1,如果i<2,将该字符后移2位并输出,否则将该字符后移3位并输出,故程序运行的结果是cdfghij,故本题选C选项。

8.A

【详解】

本题考查的是信息相关知识。

信息是一种具体的含义,语言是信息的载体,故选项A错误;给微信朋友圈点赞是个人推荐,故选项B正确;表达信息时要遵照一定的标准,计算机、通信、网络等规范了一系列的

解析:

A

【详解】

本题考查的是信息相关知识。

信息是一种具体的含义,语言是信息的载体,故选项A错误;给微信朋友圈点赞是个人推荐,故选项B正确;表达信息时要遵照一定的标准,计算机、通信、网络等规范了一系列的协议,故选项C正确;对相关数据进行加工处理,使数据之间建立相互联系,从而形成信息,选项D正确。

9.D

【详解】

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

在python中,语句print(a,b)的意思是输出a,b的值,故本题选D选项。

解析:

D

【详解】

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

在python中,语句print(a,b)的意思是输出a,b的值,故本题选D选项。

10.C

【详解】

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

字符串乘上整数n,将返回由n个此字符串拼接起来的新字符串,故该表达式的运算结果是abcdcd,故本题选C选项。

解析:

C

【详解】

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

字符串乘上整数n,将返回由n个此字符串拼接起来的新字符串,故该表达式的运算结果是abcdcd,故本题选C选项。

11.D

【详解】

本题主要考查Python表达式。

Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。

解析:

D

【详解】

本题主要考查Python表达式。

Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。

12.D

【详解】

本题考查Python程序执行

输出c=0。

a-b=7,a+b=21,a/b=2,a%b=0。

故本题选D选项

解析:

D

【详解】

本题考查Python程序执行

输出c=0。

a-b=7,a+b=21,a/b=2,a%b=0。

故本题选D选项

13.B

【详解】

本题主要考查Python文件操作函数。

open()是文件打开函数,read()、write()是文件读写函数;json.load()用于从json文件中读取数据,故本题选B选项

解析:

B

【详解】

本题主要考查Python文件操作函数。

open()是文件打开函数,read()、write()是文件读写函数;json.load()用于从json文件中读取数据,故本题选B选项。

14.B

【详解】

本题主要考查Python文件读写操作。

首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后

解析:

B

【详解】

本题主要考查Python文件读写操作。

首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后,输出的结果为pythonisaprogramminglanguage.,故本题选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.x%i==0或x//i==x/i或其他等价表达式isprime(k+2)或isprime(k+2)==Truec=c+1或c+=1

【详解】

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

①isprime(x)函数判断x是不是素数,此处通过for循环判断(用x依次除i,看能不能整除,i的范围时从2~x),故填x%i==0或x//i==x/i。

②此处判断相差2的两个数是不是素数,若是,则输出这两个数,故此处填isprime(k+2)或isprime(k+2)==True。

③c用来统计双胞胎数的对数,若满足是双胞胎数的条件,故此处填c=c+1或c+=1。

17.全文变量k+1枚举法Word/WPS/PowerPoint等

【详解】

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

①XX属于全文搜索引擎,也是关键词搜索。

②变量可以反复赋值,故k是变量。

③循环体执行完,k递增,继续找水仙花数,故此处填k+1。

④逐一验证了100到999之间所有的三位数是否符合,这种算法叫做枚举法。

⑤在研究成果展示环节,张轩小组可以使用Word/WPS/PowerPoint等软件制作《探秘水仙花数》的研究成果报告。

18.①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))”。

19.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))

20.int(day[5:

7])(year%4==0andyear%100!

=0oryear%400==0)andmonth>=2tall_day+=1110

【详解】

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

①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:

end],start会包含在结果中而end却不会,故此处填int(day[5:

7])。

②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0andyear%100!

=0oryear%400==0)andmonth>=2。

③如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。

④输入“2020-4-19”为当年的第110天。

21.0

【详解】

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

Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

题中循环体内含If选择结构,即当i%3为0时,执行sum变量累加i,输出i,i自增加1操作,因此本题输出0后,循环无限执行下去。

【点睛】

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1