编程完整版Python题库.docx
《编程完整版Python题库.docx》由会员分享,可在线阅读,更多相关《编程完整版Python题库.docx(17页珍藏版)》请在冰豆网上搜索。
编程完整版Python题库
【编程】(完整版)Python题库
一、选择题
1.在Python中,设a=2,b=3,表达式a=3值是()
A.1B.0C.TrueD.False
2.韦沐沐同学利用Python软件编制程序。
初始时,他使用流程图描述算法,在设计输入、输出数据时使用的图例是()
A.
B.
C.
D.
3.在PythonShell环境下,依次执行下列语句后,显示结果()。
data=[172,9,165,29,156,21]
max(data)
A.9B.165C.172D.21
4.关于Python的内存管理,下列说法错误的是()
A.变量不必事先声明B.变量无需先创建和赋值就可直接使用
C.变量无须制定类型D.可以使用del释放资源
5.在python中能实现下面结果的代码是()。
请输入你的性别:
A.print(“请输入你的性别:
”)B.print(请输入你的性别:
)
C.input(“请输入你的性别:
”)D.input(请输入你的性别:
)
6.利用Python编程实现计算z=a+aa+aaa+aaaa+aa..a的值,其中a是一个数字,如8+88+888+8888+88888。
设计一个summalion()函数,输入变量为数字a和需要多少个数相加的n,在这个函数中,a.aa.aaa这些基本数由变量Basic来保存,前几个数的求和保存在变量sum中,Python程序如下左图所示,请在下划线处填写代码()完善程序实现如下右图的运行结果。
A.basic+=sumB.sum=basic+nC.sum=basic+1D.sum+=basic
7.王明编写了Python程序,根据输入的体重和身高计算BM值并显示是否超标。
王明体重80kg,身高170cm。
其中“体重80kg”“身高170cm”是对王明体重身高的符号记录属于()
A.数据B.信息C.知识D.智慧
8.在PythonIDLE编辑器中书写正确的表达式()
A.b**2-4acB.1/2gt2C.pi*r^2D.2*pi*r
9.在下列程序设计语言中,属于人工智能语言的是()。
A.Python
B.VB
C.Pascal
D.C
10.在数学中,我们一般使用“=“表示相等关系,那么“=”在Python语言中的写法为()
A.=B.==C.:
=D.<>
11.在Python中,下面程序段的输出结果是()
x=9
Print(“x=”,x+1)
A.9B.10C.x=9D.x=10
12.要实现将实数型变量a的值保留三位小数,以下python可以实现的是()
A.a%0.001B.a//0.001C.round(a,3)D.round(3,a)
13.在python中,运行以下程序,结果应为()
a=5
b=7
b+=3
a=b*20
a+=2
a=a%b
print(a,b)
A.57B.2010C.227D.210
14.在Python代码中表示“x属于区间[a,b)”的正确表达式是()。
A.a≤xandx<bB.n<=xorx<bC.x>=aandx<bD.x>=aandx>b
15.Python中print(66!
=66)结果是()。
A.1B.0C.TrueD.False
二、程序填空
16.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。
请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和Python程序。
17.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。
“奇校验”的原理:
在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。
例如:
接收到的每个字节及校验码
1的个数
传输正误
100101001
4
错误
011010101
5
正确
101011010
5
正确
根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。
请回答下列问题:
(1)若接收到的二进制码为“101011011”,传输过程__________(选填:
是/否)存在差错。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
s=input("请输入9位二进制编码:
")
code={10:
"A",11:
"B",12:
"C",13:
"D",14:
"E",15:
"F"}
k=0;p=0;ans=“”
foriins:
#统计9位二进制编码中“1”的个数
k=k+int(i)
if____:
print("传输错误!
")
else:
print("传输正确!
")
forjinrange(0,8,4):
p=int(s[j:
j+4],2)
#int(x,[base]):
将x(字符串或者数字)按照base进制转换成整数
if0<=p<=9:
ans=ans+str(p)
else:
ans=___
print("字节编码用十六进制表示:
",___
18.现代生活半径的扩大和生活节奏加快使出行成本不断增长。
滴滴快车应运而生,其以灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人们生活带来了美好的变化。
小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)一个算法必须有______________或多个数据输入。
有______________或多个数据输出。
(选填:
零个/一个)
(三)编写、调试、运行程序,验证算法并解决问题________
19.现有字典如下,根据题目要求,写出相关的表达式:
xingzuo={‘小明’:
‘巨蟹座’,‘小红’:
‘处女座’,‘小兰’:
‘金牛座’}
(1)现要取出小红所对应的星座,写出相关表达式:
___________________________________________________________
(2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。
__________________________________________________________
(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。
_________________________________________________________
(4)写出删除该字典的表达式:
___________________________________________________________
20.猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
21.利用for循环,分别计算1--100中奇数的和、偶数的和。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题主要考查Python基本运算。
Python比较运算优先级高于逻辑运算,因此C选项正确。
【点睛】
解析:
C
【详解】
本题主要考查Python基本运算。
Python比较运算优先级高于逻辑运算,因此C选项正确。
【点睛】
2.D
【详解】
本题考查的是流程图相关知识。
圆角矩形用来表示程序的开始和结束,矩形用来表示处理框,菱形用来表示判断,平行四边形用来表示输入、输出。
故本题应选D。
解析:
D
【详解】
本题考查的是流程图相关知识。
圆角矩形用来表示程序的开始和结束,矩形用来表示处理框,菱形用来表示判断,平行四边形用来表示输入、输出。
故本题应选D。
3.C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
解析:
C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
4.B
【详解】
本题主要考查Python的变量。
变量需要先创建和初始化,才可以使用,故本题选B选项。
解析:
B
【详解】
本题主要考查Python的变量。
变量需要先创建和初始化,才可以使用,故本题选B选项。
5.C
【详解】
本题考查的是python函数相关知识。
input函数接受一个标准输入数据,print是一个输出函数。
input(“请输入你的性别:
”)函数中的“请输入你的性别:
”表示提示信息,要使用双
解析:
C
【详解】
本题考查的是python函数相关知识。
input函数接受一个标准输入数据,print是一个输出函数。
input(“请输入你的性别:
”)函数中的“请输入你的性别:
”表示提示信息,要使用双引号。
故选项C正确。
6.D
【详解】
本题主要考查Python程序的执行与调试。
变量sum用来求和,变量basic用来保存第i个数,下划线处对第i轮求和,故填sum=sum+basic,故选D选项。
解析:
D
【详解】
本题主要考查Python程序的执行与调试。
变量sum用来求和,变量basic用来保存第i个数,下划线处对第i轮求和,故填sum=sum+basic,故选D选项。
7.A
【详解】
本题考查的是数据的定义。
数据是客观事物的符号记录,是信息的载体,是计算机加工的对象。
“体重80kg”、“身高170cm”是对王明体重身高的符号记录属于数据。
故本题应选A。
解析:
A
【详解】
本题考查的是数据的定义。
数据是客观事物的符号记录,是信息的载体,是计算机加工的对象。
“体重80kg”、“身高170cm”是对王明体重身高的符号记录属于数据。
故本题应选A。
8.D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t*
解析:
D
【详解】
本题主要考查Python表达式知识点。
书写表达式时运算符号不能省略,+加、-减、*乘、**幂、/除、//整除、%取模,A、B、C正确的表达式分别是b**2-4*a*c,1/2*g*t**2,pi*r**2,2*pi*r是正确的表达式,故本题选D选项。
9.A
【详解】
本题考查的是人工智能语言。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
故选项A正确。
解析:
A
【详解】
本题考查的是人工智能语言。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
故选项A正确。
10.B
【详解】
本题主要考查Python运算符。
在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。
因此B选项正确。
解析:
B
【详解】
本题主要考查Python运算符。
在Python语言等高级语言中,“=“往往被用于赋值语句,而表示相等的情况时,大多用“==”。
因此B选项正确。
11.D
【详解】
本题主要考查Python程序输出语句。
x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x=10,故本题选D选项。
解析:
D
【详解】
本题主要考查Python程序输出语句。
x=9,故Print(“x=”,x+1)(“x=”是字符型直接输出,x+1计算后输出对应结果)的输出结果是x=10,故本题选D选项。
12.C
【详解】
本题主要考查Python函数。
round(x,n)方法返回x的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
解析:
C
【详解】
本题主要考查Python函数。
round(x,n)方法返回x的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
13.D
【详解】
本题考查Python程序的运算。
a=5,b=7,b+=3=10,a=b*20=200,a+=2=202,a=a%b=2。
最后a=2,b=10,故本题选D。
解析:
D
【详解】
本题考查Python程序的运算。
a=5,b=7,b+=3=10,a=b*20=200,a+=2=202,a=a%b=2。
最后a=2,b=10,故本题选D。
14.C
【详解】
本题主要考查Python表达式。
Python表达式中,大于等于运算符用“>=”表示,故“x属于区间[a,b)”的正确表达式是x>=aandx<b,故本题选C选项。
解析:
C
【详解】
本题主要考查Python表达式。
Python表达式中,大于等于运算符用“>=”表示,故“x属于区间[a,b)”的正确表达式是x>=aandx<b,故本题选C选项。
15.D
【详解】
本题主要考查Python表达式的运算。
表达式66!
=66的值为False,故print(66!
=66)结果是False,故本题选D选项。
解析:
D
【详解】
本题主要考查Python表达式的运算。
表达式66!
=66的值为False,故print(66!
=66)结果是False,故本题选D选项。
二、程序填空
16.原理:
通常蒙特•卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。
对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特•卡罗方法是一种有效的求出数值解的方法。
一般蒙特•卡罗方法在数学中最常见的应用就是蒙特•卡罗积分。
方法:
蒙特卡罗方法的解题过程可以归结为三个主要步骤:
构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。
利用蒙特卡洛方法实现求解圆周率
#!
/usr/bin/Python
#-*-coding:
utf-8-*-
importrandom
importmath
defmonteCarlo(N):
i=0
count=0
whilei<=N:
x=random.random()
y=random.random()
ifpow(x,2)+pow(y,2)<1:
count+=1
i+=1
pi=4*count/N
print(pi)
monteCarlo(1000000)
【详解】
本题考查的知识点是Python程序。
原理:
通常蒙特•卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。
对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特•卡罗方法是一种有效的求出数值解的方法。
一般蒙特•卡罗方法在数学中最常见的应用就是蒙特•卡罗积分。
方法:
蒙特卡罗方法的解题过程可以归结为三个主要步骤:
构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。
利用蒙特卡洛方法实现求解圆周率#!
/usr/bin/Python#-*-coding:
utf-8-*-importrandomimportmathdefmonteCarlo(N):
i=0count=0whilei<=N:
x=random.random()y=random.random()ifpow(x,2)+pow(y,2)<1:
count+=1i+=1pi=4*count/Nprint(pi)monteCarlo(1000000)
17.是k%2==0或(k+1)%2==1或(k-1)%2==1ans+code[p]ans
【详解】
本题主要考查Python程序的执行与调试。
①若接收到的二进制码为“101011011”,1的个数有6个,则传输过程存在差错。
②变量k统计1的个数,若k是偶数则表明传输错误,否则传输正确,故此处填k%2==0或(k+1)%2==1或(k-1)%2==1。
③如果p是1~9之间的数字,则直接将p拼接到ans中,否则从字典code中取对应的字母,故此处填ans+code[p]。
④变量ans保存转换后的十六进制,故此处填ans。
18.DTot1=(T-9)×0.2Tot2=8Tot2=8+(S-3.3)×1.35Cost=Totl+Tot2第一步:
输入实际里程S和实际时长T第四步:
计算应支付费用Cost第五步:
输出应支付费用CostEA顺序结构选择结构循环结构顺序结构选择结构零个一个略
【详解】
本题主要考查算法及程序设计。
①小C登录滴滴出行官网搜索并下载“计价规则”,所采用的数字化工具:
信息检索工具,故选D选项。
②如果时长超过9分钟,则Tot1=(T-9)×0.2。
③如果里程小于等于3.3公里则Tot2=8。
④里程大于3.3公里,则Tot2=8+(S-3.3)×1.35。
⑤应支付费用:
Cost=Totl+Tot2。
⑥第一步:
输入实际里程S和实际时长T。
⑦第四步:
计算应支付费用Cost。
⑧第五步:
输出应支付费用Cost。
⑨流程图中,表示计算与赋值的是矩形框,即选项E。
⑩表示算法流向的是箭头,即选项A。
算法描述中,用到了三种基本控制结构,分别是⑪顺序结构⑫选择结构⑬循环结构。
如图示中的流程图使用的控制结构是⑭顺序结构⑮选择结构。
⑯一个算法必须有零个或多个数据输入。
⑰有一个或多个数据输出。
⑱略
19.xingzuo[“小红”]xingzuo[“小兰”]=“水瓶座”xingzuo[“小贝”]=“双子座”delxingzuo
【详解】
本题主要考查字典数据类型。
①字典数据类型,可以通过检索字典的键值得到对应的值,即xingzuo[“小红”]=‘处女座’,故第一空填xingzuo[“小红”]。
②将“小兰”同学的星座修改为“水瓶座”,可以通过语句xingzuo[“小兰”]=“水瓶座”。
③同理添加小贝的信息为,xingzuo[“小贝”]=“双子座”。
④删除该字典的表达式是delxingzuo。
20.s=1
foriinrange(9):
s=(s+1)*2
print(s)
【详解】
本题主要考查Python程序设计。
第10天,只剩下一个桃子s=1,由题干每天早上都吃了前一天剩下的一半零一个,则第9天剩下的桃子为(s+1)*2,可以通过for循环求得第一天共摘了多少个桃子,具体代码如下:
s=1
foriinrange(9):
s=(s+1)*2
print(s)
21.sum1=0
sum2=0
foriinrange(1,101):
ifi%2==0:
sum1+=i
else:
sum2+=i
print(sum1,sum2)
【详解】
本题主要考查程序设计。
可以使用Python程序设计语言实现题干要求,通过if条件分支结构可以实现分别计算奇数的和、偶数的和,具体代码如下:
sum1=0
sum2=0
foriinrange(1,101):
ifi%2==0:
sum1+=i
else:
sum2+=i
print(sum1,sum2)