资料python学习笔记Word文件下载.docx
- 文档编号:21479739
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:14
- 大小:96.89KB
资料python学习笔记Word文件下载.docx
《资料python学习笔记Word文件下载.docx》由会员分享,可在线阅读,更多相关《资料python学习笔记Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
a=0
b=4
ifb>
a:
a=3*b
else:
a=10
程序运行后,a的值是()
A.10B.0C.12D.4
8.下面哪个不是Python合法的标识符( )
A.int32B.40XLC.selfD.__name__
9.以下Python程序运行后,变量x和st的值分别是()。
A.801123678B.801“123678”C.801801D.123678“123678”
10.下列选项中,能作为python程序变量名的是()
A.s%1B.3stuC.whileD.dist
11.如下Python程序段
foriinrange(1,4):
forjinrange(0,3):
print("
Python"
)
语句print("
)的执行次数是()
A.3B.4C.6D.9
12.下列哪个语句在Python中是非法的?
()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
13.下列Python语句中,会导致程序运行出错的语句是()
A.x=(y=1)B.x,y=y,xC.x=1;
y=1D.x=y=1
14.Python输入函数为()。
A.time()B.round()C.input()D.print()
15.在python中,以下哪个选项a的数据类型为整型()
A.a=5B.a=input()C.a='
5'
D.a=5.0
二、程序填空
16.(项目情境)一元二次方程ax2+bx+c=0(a≠0),当b2-4ac≥0,方程有两个不同的实数根,当b2-4ac<0时,方程无实数根。
(问题求解)下面的python程序实现的功能是判断方程是否有实数根。
请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
importmath
a=int(input("
请输入a的值:
"
))
b=int(input("
请输入b的值:
c=int(input("
请输入c的值:
d=_____#将表达式b2-4ac的值赋给变量d
if____
print("
x1="
(-b+math.sqrt(d))/(2*a))#输出方程的其中一个实数根
x2="
(_________)#输出方程的另一个实数根
else:
_________#输出“方程无实数根”
17.使用Python自身提供的IDLE集成开发环境录入以下代码及调试
运行,检测结果。
#鸡兔同笼
forxinrange(1,23):
y=35-x
if4*x+2*y==94:
print("
兔子有%s只,鸡有%s只"
%(x,y))
特别提示:
代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。
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)的数值变换过程如下:
变换前
密钥m
变换后
(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
③________
Forj=1To8
IfMid(ss,j,1)=Mid(st,j,1)Then
res=res+"
0"
Elseres=res+"
1"
'
按位异或
Text3.Text=res
19.完善程序实现如下功能并保存:
有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________
第5人的年龄:
,age(________))
input("
运行完毕,请按回车键退出..."
20.操作说明:
编写一个程序实现以下功能,将程序以“Y:
/3/3.py”作为文件名保存。
题目:
设计100以内的数中能同时被3或5整除的个数。
21.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。
【参考答案】***试卷处理标记,请不要删除
1.C
【详解】
本题主要考查Python基本运算。
%为求余,//为整除,程序实现了提取了变量x各位上的数值,然后倒置形成新数,因此C选项正确。
【点睛】
解析:
C
2.C
本题主要考查Python程序while循环。
while1是一直为真,故k+=1会执行无限次,故本题选C选项。
3.B
本题主要考查Python随机函数。
math模块提供了许多对浮点数的数学运算函数;
random模块提供许多生成随机数的函数;
numpy模块支持大量的维度数组与矩阵运算,此外也针对数组
B
numpy模块支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,pygame模块专为电子游戏设计,包含图像、声音等。
故在Python中要生成随机数,应该使用random模块,故本题选B选项。
4.D
本题考查的知识点是VB基本函数的应用。
Len()函数功能是求字符串长度,返回数值型数据,所以Len("
)+20值为26。
A选项:
Rnd是产生0到1之间的随机数,不包括1,
D
Rnd是产生0到1之间的随机数,不包括1,Int()函数功能是向下取整,所以Int(Rnd*26)+1结果是一个0到26的随机数,不一定为26。
A选项错误;
B选项:
Val()函数功能是讲字符串数据转换为数值型,mod是取余运算,所以Val("
)+16mod9值为27。
B选项错误;
C选项:
Mid()函数功能是截取字符串,Mid("
结果是字符串类型数据。
C选项错误;
D选项:
Sqr()是求平方根函数,abs()是求绝对值函数,所以abs(Sqr(16)–30)值为26。
故正确答案为D选项。
5.C
本题主要考查Python程序设计语言中的输入和输出函数。
input()函数返回值默认是字符串。
print()函数默认是输出后换行。
因此C选项正确。
6.D
本题考查的是Python的选择嵌套语句。
先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。
15000不小于等于10000,故执行tax=800
15000不小于等于10000,故执行tax=800+(salary-1000)*0.4=800+(15000-10000)*0.4=800+2000=2800.0。
因为salary接收的是浮点型数据。
salary-tax=15000-2800.0=12200.0。
故选项D正确。
7.C
本题主要考查Python程序的执行。
a=0,b=4,满足b>
a,执行a=3*b=12,故程序运行后,a的值是12,故本题选C选项。
8.B
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故40XL不是Python合法的标识符,故本题选B选项。
9.B
本题主要考查Python语句执行。
语句X=123+678是整型类型运算,值为801;
语句St="
123"
+"
678"
是字符串运算,直接拼接,值为"
123678"
,故本题选B选项。
10.D
故dist能作为python程序变量名,故本题选D选项。
11.D
外循环变量i的范围是1-3,内循环变量j的范围是0-2,故语句print("
)的执行次数是3*3=9,故本题选D选项。
12.B
本题主要考查Python程序的语句。
x=y=z=1(给变量x、y、z均赋值为1),x,y=y,x(交换x和y的值),x+=y等价于x=x+y,x=(y=z+1)是非法的语句,故本题选B
x=y=z=1(给变量x、y、z均赋值为1),x,y=y,x(交换x和y的值),x+=y等价于x=x+y,x=(y=z+1)是非法的语句,故本题选B选项。
13.A
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
A
14.C
本题考查的是Python函数。
input()是输入函数,print()是输出函数。
故选项C正确。
15.A
本题考查Python数据类型。
Python数据类型有字符串,布尔类型,整数,浮点数等。
a=5,a为整数型;
a=‘5’,则a为字符串;
a=5.0,则a为浮点数。
故本题选A。
16.b*b-4*a*c或b**2-4*a*cd>
=0-b-math.sqrt(d))/(2*a)print("
方程无实数根"
)
本题主要考查Python程序的调试。
①此处将表达式b2-4ac的值赋给变量d,故填b*b-4*a*c或b**2-4*a*c。
②当b2-4ac≥0,方程有两个不同的实数根,故此处if判断条件是d>
=0。
③当b2-4ac≥0时,方程的两个根分别为x1=(-b+math.sqrt(d))/(2*a),x2=(-b-math.sqrt(d))/(2*a),故此处填-b-math.sqrt(d))/(2*a)。
④else部分,即x<
0时,输出“方程无实数根”,故此处填print("
)。
17.错误1:
兔子4只腿,最多只能是23只,而range(1,23)只取到22,没取到23,故应改为:
range(1,24)
错误2:
缩进错误,y=35-x、if4*x+2*y==94:
是for语句中的语句块,应缩进。
%(x,y))是if语句中的语句块,应缩进。
本题考查的是Python调试。
本题程序错误如下:
错误1:
调试完最终输出:
兔子有12只,鸡有23只。
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.c5
本题主要考查Python程序执行与调试。
①第一个人38岁,n标记第几个人,变量c保存年龄,当n=1时,c=38,故第一空填38。
②后面的人都比前一个人小3岁,故当n不等于1时,调用递归函数age,c=age(n-1)-3,最后返回第n个人的年龄c,第二空填c。
③此处是返回第5个人的年龄,即age(5),填5。
20.c=0
能同时被3或5整除的数是:
end="
"
foriinrange(1,101):
ifi%3==0andi%5==0:
c+=1
print(i,end="
能同时被3或5整除的个数是:
+str(c))
本题主要考查Python程序设计。
设计100以内的数中能同时被3或5整除的个数,使用for循环变量i的范围是从1~99,用变量c统计能同时被3或5整除的个数,如果满足if判断条件,则变量c递增,循环完输出c的值,具体代码及运行结果如下:
21.pw=input("
请输入密码:
password="
123456"
i=1
while(i<
=3):
ifpw==password:
恭喜你进入系统!
break
请重新尝试:
i)
pw=input("
i=i+1
本题主要考查程序设计。
可以通过Python程序设计语言实现题干要求,可以通过while循环控制三次机会,使用if条件分支结构判断是否输入正确,具体代码如下:
pw=input("
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 资料 python 学习 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)