Python期末试题A 精品.docx

上传人:b****7 文档编号:25009331 上传时间:2023-06-03 格式:DOCX 页数:18 大小:910.45KB
下载 相关 举报
Python期末试题A 精品.docx_第1页
第1页 / 共18页
Python期末试题A 精品.docx_第2页
第2页 / 共18页
Python期末试题A 精品.docx_第3页
第3页 / 共18页
Python期末试题A 精品.docx_第4页
第4页 / 共18页
Python期末试题A 精品.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Python期末试题A 精品.docx

《Python期末试题A 精品.docx》由会员分享,可在线阅读,更多相关《Python期末试题A 精品.docx(18页珍藏版)》请在冰豆网上搜索。

Python期末试题A 精品.docx

Python期末试题A精品

Python期末试题A精品

一、选择题

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

a=15

b=46

if__________:

print(‘True’)

else:

print(‘Flase’)

A.a=bB.a>bC.a

2.在python中,有程序如下

A=input()

print(A*5)

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

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

3.在Python中,表达式a**3+b**3+c**3==100*a+10*b+c属于()

A.算术表达式B.关系表达式C.逻辑表达式D.日期表达式

4.有如下VB程序段:

s1="python":

s2="visual"

i=1:

j=1:

s=""

DoWhilei<=Len(s1)Andj<=Len(s2)

IfMid(s1,i,1)>=Mid(s2,j,1)Then

s=s+Mid(s1,i,1)

Else

j=j+1

EndIf

i=i+1

Loop

执行该程序后,j的值是()

A.2B.3C.5D.7

5.小平打算用python编写一个管理班上同学通讯录的程序,如果用一个变量A来对应处理同学们的电话号码,这个变量A定义成什么数据类型比较适合?

()。

A.布尔型B.浮点型C.整型D.字符串

6.如图Python代码执行后,a,b的值分别为:

()

A.5,10B.10,5C.5,5D.10,10

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

a=32

b=14

c=a%b

print(c)

A.2B.4C.32D.14

8.对于Python语言中的语句“x=(num//100)%10”,当num的值为45376时,x的值应为()

A.3B.4C.5D.6

9.在Python语言中,用来定义函数的关键字是()。

A.returnB.defC.functionD.import

10.以下python程序段运行后,y的值是()

x=3

ifx>3:

y=2*x

else:

y=3*x+1

print(y)

A.10B.5C.25D.26

11.关于python程序设计语言,下列说法错误的是()

A.python是一种面向对象的编程语言B.python代码只能在交互环境中运行

C.python具有丰富和强大的库D.python是一种解释型的计算机程序设计高级语言

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

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

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

A."p"B."n"C."y"D."o"

14.Python文件的后缀名是()

A.pdfB.doC.passD.py

15.在Python中要交换变量a和b中的值,应使用的语句组是()

A.a,b=b,aB.a=c;a=b;b=c

C.a=b;b=aD.c=a;b=a;b=c

二、程序填空

16.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。

为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。

一般情况下,规模N=1时,问题的解是已知的。

已知:

从1到n的连续自然数相乘的积、叫做阶乘、用符号n!

表示。

如5!

=1×2×3×4×5,规定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!

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的值为整数,从键盘输入)。

请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。

deff(n):

ifn==0:

return1

else:

return_________

s=0

n=int(input("请输入n:

"))

foriin_______:

s=________

print(s)

17.某字符转置算法描述如下:

将字符串(均为大写字符)s依次转换为相对应的数值(字符A~Z对应数值1~26);

·转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足部分用0来补充);

每一段中K个数据与K*K转置矩阵进行乘法运算;

将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值1~26对应字符A~Z),最后按原始字符串长度输出。

乘法运算规则如下:

第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=1,2…K)

例如:

字符串s=PYTHON,区块大小K=4,的转置过程如下:

(1)根据算法描述,上述示例中,字符“N”的相乘结果(即图中(★)处)为________。

(2)请在划线处填入合适代码。

PrivateSubCommandl_Click()

Dima(1To100)AsInteger´存储字符串,长度不超过100个字符

Dimb(1To100)AsInteger存储转置矩阵,长度不超过10*10

Dimc(1To100)AsLong

DimsAsString,tmpAsString

DimkAsInteger,tAsInteger,iAsInteger,jAsInteger

DimnAsInteger,mAsInteger,lensAsInteger

s=Textl.Text´在Textl中输入原始字符串

k=Val(Text2.Text)´在Text2中输入区块大小K

Randomize

Fori=1Tok^2

b(i)=Int(Rnd*9)+1

tmp=tmp十Str(b(i))

IfiModk=0Then

List2.AddItemtmp

tmp="".

EndIf

Nexti

lens=Len(s):

n=lens

Fori=1Ton

tmp=Mid(s,i,1)

①__________

Listl.AddItemStr(a(i))

Nexti

DoWhilenModk<>0

n=n十1

a(n)=0

Listl.AddItemStr(a(n))

Loop

Fori=1Ton

m=(i―1)Modk+1

t=1

Forj=②__________

c(i)=a(j)*b((m-1)*k+t)+c(i)

t=t+1

Nextj

Nexti

Fori=1Ton

List3.AddItemStr(c(i))

Nexti

s=″″

Fori=1Tolens

③__________

s=s+Chr(t+64)}

Nexti

Text3.Text=s´在Text3中输出转置后的字符串

EndSub

18.完善程序实现以下功能并保存。

输出数组的最大值。

arr1=[12,435,76,24,78,54,866,43]

________=-32768

foriinrange(0,7):

ifarr1[i]>max1:

max1=________

print("最大值是:

",________)

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

19.操作说明:

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

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

题目:

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

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

21.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,

请输入以下代码,自己输入数据运行,结果截图提交

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

 

一、选择题

1.C

【详解】

本题考查Python程序调试

a

故本题选C选项

解析:

C

【详解】

本题考查Python程序调试

a

故本题选C选项

2.A

【详解】

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

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

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

55555,选项

解析:

A

【详解】

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

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

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

55555,选项A正确。

3.B

【详解】

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

“==”是关系运算符,用于判断左右两边的表达式值是否相等,故该表达式是关系表达式,故本题选B选项。

解析:

B

【详解】

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

“==”是关系运算符,用于判断左右两边的表达式值是否相等,故该表达式是关系表达式,故本题选B选项。

4.C

【详解】

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

分析程序可知,变量i控制从s1中取字符,变量j从s2中取字符,依次比较字符串s1、s2的每一个字符,若s1中的字符大于或等于s2中的字符,则将s1中对应的字

解析:

C

【详解】

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

分析程序可知,变量i控制从s1中取字符,变量j从s2中取字符,依次比较字符串s1、s2的每一个字符,若s1中的字符大于或等于s2中的字符,则将s1中对应的字符拼接到变量s中,否则变量j递增。

第一遍循环,i=1,j=1,“p”<“v”,j=j+1=2,i=i+1=2;第二遍循环,“y”>“i”,i=i+1=3;第三遍循环,“t”>“i”,i=i+1=4;第四遍循环,“h”<“i”,j=j+1=3,i=i+1=5;第五遍循环,“o”<“s”,j=j+1=4,i=i+1=6;第六遍循环,“n”<“u”,j=j+1=5,i=i+1=7,循环结束,故执行该程序后,j的值是5,故本题选C选项。

5.D

【详解】

本题考查的是数据类型。

A.布尔型用于表示真(对)或假(错),A错误;B.浮点型,即带小数点的数字都称为浮点数,B错误;C.整型用于执行加(+)减(-)乘(*)除(/)运

解析:

D

【详解】

本题考查的是数据类型。

A.布尔型用于表示真(对)或假(错),A错误;B.浮点型,即带小数点的数字都称为浮点数,B错误;C.整型用于执行加(+)减(-)乘(*)除(/)运算;C错误;D.字符串能够灵活表示一串数据,长度大小灵活多变,存储电话号码位数较多,故D比较合适。

故选D。

6.B

【详解】

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

a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:

10和5,故本题选B选项。

解析:

B

【详解】

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

a=5,b=10,c=a=5,a=b=10,b=c=5,故代码执行后,a,b的值分别为:

10和5,故本题选B选项。

7.B

【详解】

本题考查Python程序执行

a%b=32%14=4(%取余)。

故本题选B选项

解析:

B

【详解】

本题考查Python程序执行

a%b=32%14=4(%取余)。

故本题选B选项

8.A

【详解】

本题主要考查Python语句。

num=45376,x=(45376//100)%10=453%10=3,故x的值应为3,故本题选A选项。

解析:

A

【详解】

本题主要考查Python语句。

num=45376,x=(45376//100)%10=453%10=3,故x的值应为3,故本题选A选项。

9.B

【详解】

本题主要考查Python关键字。

return[表达式]结束函数,选择性地返回一个值给调用方;def用来定义函数;import用来导入模块,故本题选B选项。

解析:

B

【详解】

本题主要考查Python关键字。

return[表达式]结束函数,选择性地返回一个值给调用方;def用来定义函数;import用来导入模块,故本题选B选项。

10.A

【详解】

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

x=3,不满足x>3,执行y=3*x+1=10,故本题选A选项。

解析:

A

【详解】

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

x=3,不满足x>3,执行y=3*x+1=10,故本题选A选项。

11.B

【详解】

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

python是一种面向对象的编程语言,python代码可以在交互环境中运行,python具有丰富和强大的库,python是一种解释型的计算机程序设

解析:

B

【详解】

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

python是一种面向对象的编程语言,python代码可以在交互环境中运行,python具有丰富和强大的库,python是一种解释型的计算机程序设计高级语言,故本题选B选项。

12.A

【详解】

本题主要考查Python数据类型。

"python"是字符串常量,3.14、2018是数值型常量,cnt是变量,故本题选A选项。

解析:

A

【详解】

本题主要考查Python数据类型。

"python"是字符串常量,3.14、2018是数值型常量,cnt是变量,故本题选A选项。

13.B

【详解】

本题主要考查Python序列索引值。

任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。

解析:

B

【详解】

本题主要考查Python序列索引值。

任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。

14.D

【详解】

本题主要考查Python文件知识点。

Python文件的后缀名是py,故本题选D选项。

解析:

D

【详解】

本题主要考查Python文件知识点。

Python文件的后缀名是py,故本题选D选项。

15.A

【详解】

本题考查Python语句。

在Python中要交换变量a和b中的值,可以使用的语句组是t=a;a=b;b=t也可以是a,b=b,a,故本题选A。

解析:

A

【详解】

本题考查Python语句。

在Python中要交换变量a和b中的值,可以使用的语句组是t=a;a=b;b=t也可以是a,b=b,a,故本题选A。

二、程序填空

16.n*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的范围应是1—n,foriinrange(1,n+1)表示i的范围是[1,n],故此处填range(1,n+1)。

③循环体实现累加,将每一项阶乘f(i)加到s中,故此处填s+f(i)。

17.①a(i)=Asc(tmp)-64或a(i)=Asc(tmp)-Asc("A")+1②i–m+1Toi–m+k③t=(c(i)–1)Mod26+1

【详解】

本题考查乘法运算规则的理解以及转置矩阵中行列数据的读取。

(1)根据算法描述,图中

(1)处的值为15×5+14×1+0×2+0×9=89。

(2)程序先随机生成数组b,其下标为1到k×k,并以行列的形式显示在列表框list2中(即为转置矩阵),然后读取大写字符串s中的每个字符,并将每个字符转换成相应字母表中的位置存储在数组a中。

代码①处为字符转成相应的字母表中位置值,下方代码将a(i)输出在列表框listl中,故此处应获取a(i)的值。

根据题干描述“字符A~Z对应数值1~26”,此处为将tmp获取的字符通过Asc函数进行转换,语句为“a(i)=Asc(tmp)-64”,还可以是“a(i)=Asc(tmp)-Asc(″A″)+1”。

代码②处为循环变量j的取值范围,根据乘法规则,变量j的范围是每一段中的1到k之间的值,需要获取每一段的起始位置下标,结合上文得到的m值,可得循环变量的范围是“i-m+1Toi-m十k”。

代码③处是将计算结果c(i)按原长度转换成相应大写字符,计算结果要求除以26取余,若直接写成c(i)Mod26,则导致数值26的结果为0,因此需要先减1,Mod后再加1这样的处理技巧,因此答案为“(c(i)-1)Mod26+1”。

18.max1arr1[i]max1

【详解】

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

变量max1用来保存数组的最大值,初始值赋值为最小值-32768,第一空填max1,通过for循环依次比较当数组元素大于max1时,更新max1的值为该元素继续循环直到与所有元素比较完,第二空填arr1[i],最后输出最大值是max1,故第三空填max1。

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.

【详解】

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

运行结果如下:

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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