python考试复习题库及答案_第1页
python考试复习题库及答案_第2页
python考试复习题库及答案_第3页
python考试复习题库及答案_第4页
python考试复习题库及答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(完整版)python考试复习题库精品

一、选择题

1.在python中,下列哪个选项是正确的赋值语句(

A.5s=80B.2018=xC.a+b=cD.s=s+5

2.在Python语言中,数据的输入是通过()来实现的。

A.input()函数B.print()函数

C.output()函数D.abs()函数

3.Python定义私有变量的方法为。()

A.使用_private关键字

B.使用public关键字

C.使用DEF定义变量名

D.使用_XX定义变量名

4.在python中能实现下面结果的代码是()•

请输入你的性别:

A.print(“请输入你的性别:”)B.print(请输入你的性别:)

C.input(“请输入你的性别:”)D.input(请输入你的性别:)

5.若用整型变量k表示某天是星期几(例如k=l表示该天是星期一、k=2表示该天是星期

二……k=7表示该天是星期天),则下列能够正确表示k的下一天是星期几的python表达式

为()

A.k+1B.k%7+lC.(k+1)%7D.(k+l)%7-l

6.两个阻值分别为RI、R2的电阻并联后,电路阻值R可由公式求解,下面能正确求出R

的Python表达式是()

•-------■

RRiR2

A.(R1+R2)/(R1*R2)B.R1+R?/(R1*R2)

C.R1*RyR1+R2D.R1*Ry(R1+R2)

7.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例

如,13变成31,正确的Python表达式是()

A.(x%10)*10+x//10B.(x%10)//10+x//10

C.(x/10)%10+x//10D.(x%10)*10+x%10

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

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

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

a=18

b=7

c=a%b

b=a%b

print(a,b)

A.185B.518C.184D.418

10.在Python中,显示出信息x,并要求输入数据的是()。

A.abs(x)B.float(x)C.print(x)D.input(x)

11.已知字符串slfpython”,s2=HPython",则表达式中sl>s2的值为()

A.“python"B.“Python”C.TrueD.False

12.在python中,下列属于字符串常量的是()

A."python"B.3.14C.entD.2018

13.在Python代码中表示“x属于区间[a,b)”的正确表达式是()o

A.a^xandx<bB.n<=xorx<bC.x>=aandx<bD.x>=aandx>b

14.下列语言中()不属于高级语言

A.pythonB.VCC.JAVAD.汇编语言

15.下面不是python特性的是():

A.免费的B.简单易学c.可移植性好D.是低级语言

二、程序填空

16.某种数据加密方法描述如下(加密前数据是ASCH字符):

•以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于

8)为独立数据段。

•数据加密规则:数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8

的数据段,不进行位置变换。

位置变换:用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下:

加密后某数据段的第i个元素=对应原数据段的第c⑴个元素,其中i=l,2,.......8。

数值变换:位置变换后,依次取出各个字符进行数值变换:把该字符的ASCII码转二进

制,然后与密钥m对应的二进制数(m为1到255之间的整数)按位异或运算。异或运算

(®)规则:如果a、b两个值不相同,则a㊉b结果为1;如果a、b两个值相同,则

a㊉b结果为0,即:0©0=0,1㊉0=1,0ffil=l,1㊉1=0。

•把上述处理的得到二进制数依次拼接,即构成最后的加密数据例如,待加密数据为

“python3.50",数组c各元素的值依次是

数组c36152847

则数据位置变换如下:

如值变换密钥m为35(二进制表示是00100011),则字符“t"(ASCII码值是116,二进

制表示是010100)的数值变换过程如下:

变换前01110100

密钥m00100011

变换后01010111

(1)已知“A”的ASCII码值是65,m=35,则“A”数值变换后的结果是(填二进

制数据)。

(2)小李根据上述算法,设计了一个数据加密程序,其VB代码如下,请在划线处填入合

适的代码。

Constn=1024

Dimc(lTo8)AsInteger

PrivateSubForm_Load()

'产生位置变换密钥数组c,代码略

EndSub

Functionconvert(cAslnteger)AsString

‘程序功能:把整数c转成8位二进制数,代码略

EndFunction

PrivateSubCommandl_Click()

DimsAsString,stAsString,ssAsString,resAsString

DimiAsIntegerjAsIntegerstartAsInteger

Dima(lTon)AsString,b(lTon)AsString

s=Textl.Text

st=convert(Val(Text2.Text))

Fori=1ToLen(s)

a(i)=Mid(sJ,l)

Nexti

i=l:start=-8

DoWhilea________

IfiMod8=1Thenstart=start+8

b(i)=^_______

i=i+l

Loop

Forj=iToLen(s)

b(j)=a(j)

Nextj

Fori=1ToLen(s)

Forj=IT08

IfMid(ssJ,l)=Mid(stj,l)Then

res=res+"0"Elseres=res+"1"

'按位异或

Nextj

Nexti

Text3.Text=res

EndSub

17.已知6月份10位技术考试成绩:

12345678910

788889908376759810065

技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:

3=[78,88,89,90,83,76,75,98,100,65]

sum=0

foriinrange(n):

ifa[i]>=80:

print(sum)

执行上述程序段后,输出的内容是______

18.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡5文

钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和

小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?

打开文件“考生文件夹\644\百鸡百钱.py",完善程序实现以下功能并保存。

(1)请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善。

(2)运行程序,运行结果如图所示。

41878

81181

12484

运行宾毕,请按回主键退出...

#请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善

money=lOO#一共100文钱

num=100#一共100只鸡

cock_price=5#公鸡价格5文

hen_price=3#母鸡价格3文

threechickprice=l#3只小鸡1文

forcocknuminrange(1,money//cock_price+l):#公鸡只数可能为1-20

forhen_numinrange(1,(1)):#母鸡只数可能为

1-33

forchicknuminrange(1,@:#(3小鸡)只数

可能为i-ioo

moneyl=cock_num*cock_price+hen_nuni*hen_price+chick_num*threechick_price

num1=cock_num+hen_num+chick_num*3

ifmoneyl==moneyandnum1-num:

print(cock_num,hen_num,(3))#(③小鸡数)

input("运行完毕,请按回车键退出...”)

19.程序设计:唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩

萨。观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。于是悟

空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。由

于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。

代码如下:

List=list(map(int,input("请按身高递增顺序依次输入10000个神仙的身高").split。))

left=l

right=10000

while①

mid=@

ifList[mid]==1000:

elifList[mid]<1000:

else:

print("能帮孙悟空的神仙在第{0}位上Jformat(mid+I))

(1)程序代码中①处正确的代码是()O

A.Ieft<rightB.left<=rightC.left!=rightD.left>right

(2)程序代码中②处正确的代码是()o

A.(left+right)/2B.(Ieft+right)\2

C.(left+right)//2D.(Ieft+right)\\2

(3)程序代码中③处正确的代码是()o

A.passB.print(mid)zC.breakD.continue

(4)程序代码中④处正确的代码是()o-

A.left=midB.right=midC.Ieft=mid+1D.right=mid-l

(5)程序代码中⑤处正确的代码是()o

A.left=midB.right=midC.Ieft=mid+1D.right=mid-l

20.编写程序,找到并输出100以内的素数。

21.编写程序。信息社团的三个同学和Bruce一起做游戏,他们的游戏规则很简单,从1

开始依次报数,每当一个数能被7整除或者十位是7就要跳过这个数,现在给出一个数

N,请输入从1到N(包含N)中要跳过的数。

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

一、选择题

1.D

【详解】

本题主要考查Python赋值语句。“5s”不是一个合法的变量名,不能将变量x赋给一个数

值或表达式,可以将s+5赋给变量s,故本题选D选项。

解D

【详解】

本题主要考查Python赋值语句。"5s"不是一个合法的变量名,不能将变量x赋给一个数值

或表达式,可以将s+5赋给变量s,故本题选D选项。

2.A

【详解】

本题考查的是Python函数。input()是输入函数,print。是输出函数,abs()是绝

对值函数。故选项A正确。

解析:A

【详解】

本题考查的是Python函数。input()是输入函数,print()是输出函数,abs()是绝对值函数。

故选项A正确。

3.D

【详解】

本题主要考查Python变量的定义。Python定义私有变量的方法为使用—XX定

义变量名,故本题选D选项。

解析:D

【详解】

本题主要考查Python变量的定义。Python定义私有变量的方法为使用_XX定义变量名,

故本题选D选项。

4.C

【详解】

本题考查的是python函数相关知识。input函数接受一个标准输入数据,print

是一个输出函数。input("请输入你的性别:”)函数中的"请输入你的性别:"

表示提示信息,要使用双

解析:C

【详解】

本题考查的是python函数相关知识。input函数接受一个标准输入数据,print是一个输出

函数。input("请输入你的性别:")函数中的"请输入你的性别:”表示提示信息,要使用

双引号。故选项C正确。

5.B

【详解】

本题主要考查Python表达式的运算。一周7天,周期为7,故表示k的下一天

是星期几的python表达式为k%7+1,故本题选B选项。

解析:B

【详解】

本题主要考查Python表达式的运算。一周7天,周期为7,故表示k的下一天是星期几的

python表达式为k驰7+1,故本题选B选项。

6.D

【详解】

本题考查的是python表达式的书写。表达式的书写要在一行中,并且乘号不能

省略,并且用括号表示其计算的优先级。电阻表达式转换后,选项D正确。

解析:D

【详解】

本题考查的是python表达式的书写。表达式的书写要在一行中,并且乘号不能省略,并且

用括号表示其计算的优先级。电阻表达式;二/+£转换后,选项D正确。

7.A

【详解】

本题主要考查Python表达式。当x=13时,(x%10)*10+x〃10=31,

(x%10)//10+x//10=l,(x/10)%10+x//10=2,(x%10)*10+x%l

解^If:A

【详解】

本题主要考查Python表达式。当x=13时,(x%10)*10+x〃:L0=3L(x%10)//10+x//10=l

(x/10)%10+x//10=Z(x%10)*10+x%10=33,故本题选A选项。

8.D

【详解】

本题主要考查Python输出函数。在python语句print(a,b)的意思是输出a,b

的值,故本题选D选项。

解析:D

【详解】

本题主要考查Python输出函数。在python中,语句print(a,b)的意思是输出a,b的值,故

本题选D选项。

9.C

【详解】

本题主要考查Python程序的执行。a=18,b=7,c=a%b=4,b=a%b=4,输出a和

b的值是18和4,故本题选C选项。

解析:C

【详解】

本题主要考查Python程序的执行。a=18,b=7,c=a%b=4,b=a%b=4,输出a和b的值是

18和4,故本题选C选项。

10.D

【详解】

本题主要考查Python常用函数。abs(x)是返回x的绝对值,float。函数用于将整

数和字符串转换成浮点数,print。是输出函数,input。是输入函数,故本题选D

选项。

解析:D

【详解】

本题主要考查Python常用函数。abs(x)是返回x的绝对值,float。函数用于将整数和字符串

转换成浮点数,print。是输出函数,input。是输入函数,故本题选D选项。

11.C

【详解】

本题主要考查Python字符串。比较字符串的大小,是将两个字符串的字符一一

比较它们的ASCII值,小写字母的ASCII值大于大写字母,故表达式中sl>s2的

值为True,故本题选C选项

解析:C

【详解】

本题主要考查Python字符串。比较字符串的大小,是将两个字符串的字符一一比较它们的

ASCII值,小写字母的ASCII值大于大写字母,故表达式中sl>s2的值为True,故本题选C

选项。

12.A

【详解】

本题主要考查Python数据类型。"python”是字符串常量,3.14、2018是数值型

常量,ent是变量,故本题选A选项。

解析:A

【详解】

本题主要考查Python数据类型。"python"是字符串常量,3.14、2018是数值型常量,ent

是变量,故本题选A选项。

13.C

【详解】

本题主要考查Python表达式。Python表达式中,大于等于运算符用">="表示,

故"x属于区间[a,b)”的正确表达式是x>=aandxVb,故本题选C选项。

解析:C

【详解】

本题主要考查Python表达式。Python表达式中,大于等于运算符用“>=”表示,故“x属

于区间[a,b)”的正确表达式是x>=aandx<b,故本题选C选项。

14.D

【详解】

本题主要考查程序设计语言。python、VC,JAVA均属于高级语言,汇编语言属

于低级语言,故本题选D选项。

解析:D

【详解】

本题主要考查程序设计语言。python、VC、JAVA均属于高级语言,汇编语言属于低级语

言,故本题选D选项。

15.D

【详解】

本题主要考查Python的特性。Python特性有:免费的、简单易学、可移植性

好、是高级语言,故本题选D选项。

解析:D

【详解】

本题主要考查Python的特性。Python特性有:免费的、简单易学、可移植性好、是高级

语言,故本题选D选项。

二、程序填空

16.①i<=(Len(s)\8)*8®a(start+c((i-l)Mod8+1))@ss=convert(Asc(b(i)))

【详解】

(1)“A”的ASCII码值是65,用二进制表示为0100001,m=35,用二进制表示为

0010001,位做异或运算,相同为0,相异为1,可得:01100010o

(2)①以8个数据为一段进行分段处理,个数等于8的数据段需进行位置变换,故需进行

位置变换的数据段有(Len(s)\8)个,数据个数为i<=(Len⑸\8)*8。

②位置变换方法:加密后数据段的第i个元素=原数据段的第c⑴个元素,其中i=l,

2,……,8,i表示段内位置。代码“DoWhilei<=(Len(s)\8)*8"中的i对应段内位置可为

“l+(i-l)Mod8",start表示该数据段第一个数据的前个位置,故数组b第i位置元素是来

自数组a第start+c(l+(i*-l)Mod8)位置,故②处代码为ua(start+c(i-l)Mod8+l))),„

③位置变换后的数据需转二进制,再按位做异或运算,故③处的代码是调用自定义函数

convert把b⑴中字符的ASCII码转二进制后存入变量ss,故此处代码为"ss=

n

convert(Asc(b(i))o

17.(T)n=len(a)sum+=l或sum=sum+l6

【详解】

本题主要考查Python程序调试与执行。①变量n用来保存数组a的长度,使用len函数,

故此处填n二len(a)。②使用for循环统计出80分(含80)以上的人数,用变量sum统计

满足条件的人数,当满足if条件时,sum变量递增,故此处填sum+二1或sum=sum+1。③

执行上述程序段后,sum=6,故输出的内容是6。

18.34或money〃hen_price+l101money//threechick_price+lchick_num*3

【详解】

本题主要考查Python程序执行与调试。①母鸡只数可能为1-33,对比最外层循环范围,

第一空填34或money〃hen_price+l。②小鸡只数可能为1-100,同理第二空填101或

money//threechick_price+l«③公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,故

第三空填chick_num*3o

19.BCCCD

【详解】

本题主要考查二分查找算法及Python程序实现。①二分查找的循环条件是left<=right,

故选B选项。②此处是取中间值,需要整除2,故填(left+right)〃2,故选C选项。③如果

mid对应的列表值是1000,表示已找到,则用break跳出循环,选C选项。④如果mid对

应的列表值小于1000,则需要更新left的值为mid+1继续循环,选C选项。⑤否则更新

right的值为mid-1,选D选项。

20.参考答案1:

foriinrange(2,101):

j=2

whilej<=i:

ifi%j==0:

break

j+=l

ifj<i:

continue

else:

print(i,end="")

参考答:2:

foriinrange(2,101):

forjinrange(2,i):

if(i%j==0):

break

else:

print(i)

【详解】

本题考查是Python语言编程解决问题。break语句可以立即终止当前循环的执行,跳出当

前所在的循环结构。无论是while循环还是for循环,只要执行break语句,就会直接结束

当前正在执行的循环体。这就好比在操场上跑步,原计划跑10圈,可是当跑到第2圈的时

候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了break语句

提前终止了循环。答案中代码的实现过程见下图:

参考答案1:

参考答案2:

&1.py-C:/U^ers/dell/De<tcp/1.py(3.8.51□X

FileEditFormatRunOptionsWindowHelp

iinrange(2,101):

forJ1J.range⑵1):鼻Python3.8.5Shell

it(i%j==0):

breakFileEditShellDebugOptionsWindowHelp

else:Python3.8.5(tags/v3.8.5:580fbb0,Jul202020,15:57:54)

print(i)

D64)]〃onWin32*”““,z

Type"help","copyright","credits

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论