Python基础语法精品word练习.docx
《Python基础语法精品word练习.docx》由会员分享,可在线阅读,更多相关《Python基础语法精品word练习.docx(36页珍藏版)》请在冰豆网上搜索。
![Python基础语法精品word练习.docx](https://file1.bdocx.com/fileroot1/2023-2/8/07c72099-35db-471c-ad44-9282400ecfa4/07c72099-35db-471c-ad44-9282400ecfa41.gif)
Python基础语法精品word练习
Python基础语法精品word练习
一、选择题
1.在Python中运行后,b的值是()
a=6
Ifa>=0:
b=a+2
Else:
b=a-2
print(b)
A.6B.8C.10D.12
2.以下是一段python程序:
它的可以用哪个流程图表达()。
A.
B.
C.
3.()不是程序设计高级语言。
A.Python
B.Basic
C.C++
D.伪代码
4.在Python中,返回x的绝对值的函数是()。
A.abs(x)B.bin(x)C.all(x)D.input(x)
5.如下Python程序段
foriinrange(1,4):
forjinrange(0,3):
print("Python")
语句print("Python")的执行次数是()
A.3B.4C.6D.9
6.以下叙述中正确的是()。
A.Python3.x与Python2.x兼容
B.Python语句只能以程序方式执行
C.Python是解释型语言
D.Python语言出现得晚,具有其他高级语言的一切优点
7.下列Python程序运行后的输出结果是()。
s=0
foriinrange(1,10):
s=s+i
print("s=",s)
A.s=35B.s=45C.s=55D.s=65
8.下列Python表达式中,能正确表示不等式方程|x|>1解的是()
A.x>1orx<-1B.x>-1orx<1C.x>1andx<-1D.x>-1andx<1
9.在python中,运行下列程序,正确的结果是()
s=0
foriinrange(1,5):
s=s+i
print("i=",i,"s=",s)
A.i=4s=10B.i=5s=10C.i=5s=15D.i=6s=15
10.为了提高程序的可读性,可以在该语句后面添加注释语句,Python程序中用作注释的标识符是()
A.:
B.#C.,D.!
11.以下python程序段运行后,y的值是()
x=3
ifx>3:
y=2*x
else:
y=3*x+1
print(y)
A.10B.5C.25D.26
12.利用Python求100以内所有能被3整除的正整数,代码如下:
则下列程序第3行的横线应该填()
A.i=i*3B.i=i%3C.i%3==0D.i/3==1
13.在Python中,下面程序段的输出结果是()
x=9
Print(“x=”,x+1)
A.9B.10C.x=9D.x=10
14.在python中,以下哪个选项a的数据类型为整型()
A.a=5B.a=input()C.a='5'D.a=5.0
15.下列不是Python中所有循环必须包含的是()。
A.冒号B.循环次数C.循环体D.缩进
16.Python语言属于()。
A.机器语言B.汇编语言C.高级语言D.科学计算语言
17.运行下列Python程序,输出结果为0,则空白处应为()
a=14
b=7
c=_______
print(c)
A.a-bB.a+bC.a/bD.a%b
18.下面哪个不是Python合法的标识符()
A.int_3B.print
C.countD.__name__
19.在数学中,我们一般使用“=“表示相等关系,那么“=”在Python语言中的写法为()
A.=B.==C.:
=D.<>
20.对于Python语言中的语句“x=(num//100)%10”,当num的值为45376时,x的值应为()
A.3B.4C.5D.6
21.下列选项中不能正确表达Python中的赋值语句的是()
A.X,Y=5,8B.X=Y=5C.X=Y+XD.10=X+Y
22.在python中,语句print(a,b)的意思是()
A.打印a,bB.输出(a,b)C.输出a,bD.输出a,b的值
23.下列Python程序段
a=0
b=4
ifb>a:
a=3*b
else:
a=10
程序运行后,a的值是()
A.10B.0C.12D.4
24.如图Python代码执行后,a,b的值分别为:
()
A.5,10B.10,5C.5,5D.10,10
25.运行下列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
26.两个阻值分别为R1、R2的电阻并联后,电路阻值R可由公式求解,下面能正确求出R的Python表达式是()
A.(R1+R2)/(R1*R2)B.R1+R2/(R1*R2)
C.R1*R2/R1+R2D.R1*R2/(R1+R2)
27.在Python中,input()函数的返回结果的数据类型为()
A.Number型B.String型C.List型D.Sets型
28.在PythonShell环境下,依次执行下列语句后,显示结果()。
data=[172,9,165,29,156,21]
max(data)
A.9B.165C.172D.21
29.利用Python程序绘制x-y的散点图,则下列程序第5行应该填写的代码是()。
A.plt.plot(X,Y)B.plt.scatter(X,Y)
C.plt.bar(X,Y)D.plt.boxplot(X,Y)
30.下列属于计算机编程语言的有()
①Python②VisualBasic③Java④C++⑤CPU
A.①②④⑤B.②③④⑤C.①②③④D.①③④
二、程序填空
31.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。
请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。
32.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?
请帮小金完成代码编程.
defconvert(s):
m=0
le=len(s)
key=s[le-1]
ifkey=="B":
n=2
elifkey=="D":
_______
else:
n=16
i=0
whilei<=le-2:
c=s[le-1-i]
ifc>="0"andc<="9":
a=ord(c)-ord("0")
elifc>="A"andc<="F":
a=ord(c)-ord("A")+10
_____________
i+=1
returnm
s=input("请输入算式")
result=0;suanfu1="";suanfu2="";s1=""
foriinrange(len(s)):
c=s[i]
ifc=="+"orc=="-"orc=="=":
__________
suanfu1=suanfu2
suanfu2=c
ifsuanfu1=="":
result=t
ifsuanfu1=="+":
result=result+t
ifsuanfu1=="-":
result=result-t
s1=""
else:
s1=s1+c
print("计算结果为"+str(result)+"D")
(1)将程序横线处补充完整
(2)如输入“1110B+10D-30H=”则输出结果为___________。
33.现今信息化时代,信息的传输十分迅速,足不出户便知天下事。
许多社交平台都有设置本平台的热点排行榜,方便用户了解正在发生的热门事件。
但社交平台数量众多,平台用户种类和数量也大不相同,导致不同平台热点的实际热度大小也不同。
小钟为了确保自己知道的热点是真正的热点,于是打算用功能强大的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(iif(A[i]
(6)______
i+=1
else:
myRank.append(B[j])
j+=1
while(imyRank.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)
34.阅读程序。
观察使用随机数求解百钱白鸡问题的代码并回答问题。
百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
importrandom
whileTrue:
x=random.randrange(0,20)
y=random.randrange(0,33)
z=random.randrange(0,100)
if5*x+3*y+z/3==100andx+y+z==100:
print('公鸡',x)
print('母鸡',y)
print('小鸡',z)
(1)Python中导入库文件的命令是________。
(2)random.randrange(0,20)生成的随机数的范围是_________
。
(3)如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为
________
(4)whileTrue的作用是______。
(5)如果whileTrue造成程序无法停止,我们可以在程序中添加一行_________。
35.某种数据加密方法描述如下(加密前数据是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
36.现代生活半径的扩大和生活节奏加快使出行成本不断增长。
滴滴快车应运而生,其以灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人们生活带来了美好的变化。
小C是滴滴快车忠实的粉丝,经常出行就提前预约,乘坐滴滴快车。
小C就在思考这个滴滴快车是怎么计费的?
可否用所学的Python语言也编写一个计费程序。
于是小C开展了有关这个项目活动的探究。
根据实际情况,回答问题。
(一)收集、分析数据,运用数理思维建模
登录滴滴出行官网,得到了如下信息,即“滴滴快车(普通型)计价规则”:
滴滴快车(普通型)计价规则
时段
起步价
里程费
时长费
普通时段
8.00元
1.35元/公里
0.20元/分钟
00:
00-06:
30
8.50元
2.40元/公里
0.50元/分钟
06:
30-09:
00
8.50元
1.50元/公里
0.45元/分钟
21:
00-23:
00
8.50元
1.50元/公里
0.40元/分钟
23:
00-00:
00
8.50元
2.40元/公里
0.50元/分钟
注意:
1.起步价包含里程3.3公里,包含时长9分钟,里程费、时长费合计不足基础费时,直接按照基础费计费。
2.实时计价是基于订单服务内容(里程、时长、时段),按各种费用项定价标准计算订单价格的计价方式,实际费用由两部分里程费与时长费累加而得。
小C同学19:
33从“南内环恒地大厦停车场-入口”到“坞城新纪元大酒店(长风店)”乘坐滴滴快车(普通车型),里程4.1公里,时长约21分钟,按照表中的计费规则,小C同学此次出行应该支付的车费是:
车费=8+(4.1-3.3)×1.35+(21-9)×0.2=9.68。
(1)小C登录滴滴出行官网搜索并下载“计价规则”,所采用的数字化工具:
_____________
A.数字化可视化表达工具B.信息加工工具
C.三维设计工具D.信息检索工具
(2)假设Tot1表示时长费,Tot2表示里程费,S表示实际里程,T表示实际时长,Cost表示应支付费用。
运用数学解析式归纳出计费公式为:
如果时长超过9分钟,则Tot1=_____________。
如果里程小于等于3.3公里则Tot2=_____________,否则Tot2=_____________。
应支付费用:
Cost=______________。
(二)运用算法描述方法将问题解决步骤化
小C明晰了滴滴快车车费的计算方法之后,设计求解滴滴快车普通时段车费的算法,并用自然语言和流程图的方式表述出来。
(3)自然语言描述:
第一步:
_________________________
第二步:
计算时长费Totl
第三步:
计算里程费Tot2
第四步:
_________________________
第五步:
_________________________
(4)流程图描述:
(如图)流程图中,表示计算与赋值的是_____________,表示算法流向的是______________。
A.
B.
C.
D.
E.
(5)算法描述中,用到了三种基本控制结构,分别是_______________、______________和______________。
如图示中的流程图使用的控制结构是_______________和______________。
(选填:
顺序结构、选择结构、循环结构、树型结构)
(6)一个算法必须有______________或多个数据输入。
有______________或多个数据输出。
(选填:
零个/一个)
(三)编写、调试、运行程序,验证算法并解决问题________
37.完善程序实现如下功能并保存:
有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁;第3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38岁。
编写程序,计算出第5个人的年龄并显示。
defage(n):
ifn==1:
c=________
else:
c=age(n-1)-3
return________
print("第5人的年龄:
",age(________))
input("运行完毕,请按回车键退出...")
38.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。
39.求50以内所有5的倍数的和。
40.编写程序,找到并输出100以内的素数。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.B
【详解】
本题主要考查Python程序的执行。
a=6,满足a>=0,执行b=a+2=8,故在Python中运行后,b的值是8,故本题选B选项。
解析:
B
【详解】
本题主要考查Python程序的执行。
a=6,满足a>=0,执行b=a+2=8,故在Python中运行后,b的值是8,故本题选B选项。
2.B
【详解】
本题主要考查算法流程图知识点。
程序代码中有双分支语句if–else。
所以选B绘制有分支流程图,故本题选B选项。
解析:
B
【详解】
本题主要考查算法流程图知识点。
程序代码中有双分支语句if–else。
所以选B绘制有分支流程图,故本题选B选项。
3.D
【详解】
本题考查程序设计语言的相关知识点
程序设计高级语言包括Python、Basic、C++等,伪代码不能执行,不是程序设计高级语言。
故本题选D选项
解析:
D
【详解】
本题考查程序设计语言的相关知识点
程序设计高级语言包括Python、Basic、C++等,伪代码不能执行,不是程序设计高级语言。
故本题选D选项
4.A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有
解析:
A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有元素是否都为TRUE,input(x)是输入函数,故本题选A选项。
5.D
【详解】
本题主要考查Python程序的执行。
外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print("Python")的执行次数是3*3=9,故本题选D选项。
解析:
D
【详解】
本题主要考查Python程序的执行。
外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print("Python")的执行次数是3*3=9,故本题选D选项。
6.C
【详解】
本题考查Python相关知识点
Python3.x与Python2.x版本不同,不兼容。
故选项A说法错误
Python语句也可以使用脚本直接运行。
故选项B说法错误
Python是解
解析:
C
【详解】
本题考查Python相关知识点
Python3.x与Python2.x版本不同,不兼容。
故选项A说法错误
Python语句也可以使用脚本直接运行。
故选项B说法错误