《Python快速编程入门》-课后题答案_第1页
《Python快速编程入门》-课后题答案_第2页
《Python快速编程入门》-课后题答案_第3页
《Python快速编程入门》-课后题答案_第4页
《Python快速编程入门》-课后题答案_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

Python课后题答案第1章 Python概述一、填空题对象可移植字节码UTF-8pyc二、判断题对对对对错错对错对错三、选择题CABCDABCDCD四、简答题。Python简单易学开源高级语言可移植性解释性面向对象可扩展性丰富的库规范的代码Python可以应用在下列领域:web应用开发操作系统管理、服务器运维的自动化脚本
科学计算桌面软件服务器软件(网络软件)游戏构思实现,产品早期原型和迭代Python2.xPython3.x的区别如下:python2.xprintpython3.x中printprint()函数python2ASCIIStr()类型,unicode()byte类型。在python3.xUTF-8编码,从而可以很好的支持中文字符。python2.x/进行除法运算,整数相除的结果是一个整数,浮点数除法会保留小数点的部分得到一个浮点数的结果。在python3.x中使用运算符/进行除法,整数之间的相除,结果也会是浮点数。python2.x版本,python3.x版本在异常方面有很多改变:在python2.x版本,所有类型的对象都是直接被抛出的,但是,在python3.x版本中,只有继承自BaseException的对象才可以被抛出。python2.xexceptexcpython3.x版本中,引入了as关键字,捕获异常的语法变更为exceptexcasvar。python2.xraiseException(argspython3.x版本中,处理异常使用raiseException,args。python3.x取消了异常类的序列行为和.message属性。在Python3.x中,表示八进制字面量的方式只有一种,并且必须写0o1000这样的方式,原来01000的方式不能使用了。Python2.x!=<>;但是,Python3.x中去掉了<>,只有!=一种写法python3.xlongint,但它的行为就像python2.xlong。Python程序的执行原理如图所示。python解释器将源代码转换为字节码,然后把编译好的字节码转发到Python虚拟机(PVM)中进行执行IPython的特点如下:IPythonPythonshellPythonshell。IPythonbashshell命令,内置了许多很有用的功能和函数。IPython提供了基于控制台命令环境的定制功能,可以十分轻松地将交PythonshellPythonshell来使用。五、编程题。代码如下:print("+++++++++++")print("+++++++++++")print("+print("++")print("+++++++++++")print("+++++++++++")代码如下:print("print("学Python,来传智播客黑马程序员")print("print("学Python,来传智播客黑马程序员")print("print("学Python,来传智播客黑马程序员")print("print("学Python,来传智播客黑马程序员")print("print("学Python,来传智播客黑马程序员")第2章 Python基本语法一、填空题intTrue e55.000000106.0b10107.type()8.19.2010.4.34×103二、判断题对错对对对错对对对对三、选择题DDAACABBCD四、简答题Python中标识符的命名规则如下所示:标示符由字母、下划线和数字组成,且数字不能开头python中的标识符是区分大小写的。python中的标示符不能使用关键字Python整型长整型浮点数、complex(复数)五、编程题代码如下:importmathimportmatha=float(input("请输入斜边1的长度输入实数b=float(input("请输入斜边2的长度输入实数c=a*a+b*b计算,得到的是斜边的平方c=sqrt(c)#开方,得到的是斜边长print("斜边长为:",c)#显示,一项是字符串,一项是c表示的斜边长代码如下:##用户输入x=input('输入x值:')y=input('输入y值:')#不使用临时变量x,y=y,xprint('交换后x的值为{}'.format(x))print('交换后y的值为{}'.format(y))第3章 Python常用语句一、填空题breakelifcontinueTruepass二、判断题错对对对对三、选择题CCCCD四、简答题PassPythonpass是空语句,它的出现是为了保持程序结构的完整性。pass不做任何事情,一般用做占位语句。break语句用于结束整个循环;continue的作用是用来结束本次循环,紧接着执行下一次的循环。五、编程题代码如下:foriinrange(1,11):foriinrange(1,11):print(i)a=int(input("请输入一个数:a=int(input("请输入一个数:"))ifa>0:print("a是一个正数")elifa<0:print("a是一个负数")else:print("a0")代码如下:i=1i=1whilei<10:whilei<10:j=1j=1whilej<=i:whilej<=i:print("%d*%d=%-2d"%(i,j,i*j),end='')print("%d*%d=%-2d"%(i,j,i*j),end='')j+=1j+=1print("\n")print("\n")i+=1i+=1第4章 字符串一、单选题ADBCCBA二、判断题对对错对错错错三、填空题文本转义input切片开四、程序分析题答:不能编译通过。num1num2属于字符串类型,不能执行取余操作。结果为:J答:ValueError异常。结果为:HelloWorld(默认删除两头的空格)结果为:HelloPython五、编程题答案:myStr=input("myStr=input("请输入任意字符串:")num=0forsinmyStr:ifs.isdigit():num+=1print(num)答案:weekweek=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']'Sunday']whileTrue:r请输入任意一个字母upMyStrmyStr.upper()forweekSinweek:ifupMyStr==weekS[0]:ifweekS.startswith("M"):一elifweekS.startswith("W"):三elifweekS.startswith("F"):五elifweekS.startswith("T")orweekS.startswith("S"):secondStr再输入任意一个字母:")newStr=upMyStr+secondStrprint(newStr)forweekStrinweek:ifweekStr.find(newStr,0,2)!=-1:ifnewStr=="Tu":elifnewStr=="Th":elifnewStr=="Sa":elifnewStr=="Su":breakbreak答案:str="Hello,welcometoitheima!!"str="Hello,welcometoitheima!!"print(str.count("o"))第5章 列表、元组和字典一、单选题DBCDDCABC二、判断题对对对对错错错三、填空题字典字典,列表notinsort小括号四、简答题1.答案:花括号括起来的数据存储结构:列表可以存储多个不同类型的数据,以逗号分隔;元组同样能键是唯一的,值是任何类型的。00开始;字典通过键来访问值。是否可变类型:列表是可变类型,列表是不可变类型,字典是可变类型。五、程序分析题答案:程序运行错误,元组不能使用下标增加元素。结果为:33. 结果为:1,26六、编程题答案:defmessage():defmessage():r请输入密码,只能为字母和数字:ifmyStr.isalnum():ifmyStr.isalnum():合要求")else:else:符合要求")答案:arr=[]evenStr=""oddStr=""arr=[]evenStr=""oddStr=""message=input("请输入任意字符串:")forstringinmessage:arr.append(string)foreStrin(arr[::2]):evenStr=evenStr+eStrforoStrin(arr[1::2]):oddStr=oddStr+oStrprint(evenStr+oddStr)print(evenStr+oddStr)答案:arr=[]arr=[]defcount():r请输入只包含字母的字符串:ifmyStr.isalpha():newStr=myStr.lower()forstringinnewStr:arr.append(string)a={}foriinarr:ifarr.count(i)>=1:a[i]=arr.count(i)print(a)else:入的内容有误")count()答案:arr=[]result=""arr=[]result=""myStr=input("请输入字符串:")forstringinmyStr:arr.append(string)last=arr[-1]arr.remove(last)arr.insert(0,last)fornewinarr:result=result+newprint(result)答案:arr=[]arr=[]length=int(input("请要输入数字的总个数(必须为奇数):"))i=0whilei<length:m 输入第d个数字arr.append(num)i+=1arr.sort()index=int(length/2)print(arr[index])第一种:arr=[1,2,3,4,5]arr=[1,2,3,4,5]arr.reverse()print(arr)第二种:arr=[1,2,3,4,5]arr=[1,2,3,4,5]arr.sort(reverse=True)print(arr)答案:arr=[]arr=[]length=int(input("请输入数字的总个数:"))i=0whilei<length:m 输入第d个数字arr.append(num)i+=1print("排序前:%s"%arr)#对列表排序foriinrange(length):flag=0foriinrange(length):flag=0forjinrange(1,length):ifarr[j-1]>arr[j]:arr[j-1],arr[j]=arr[j],arr[j-1]flag=1ifnotflag:breakprint("排序后:%s"%arr)答案:arr=[]arr=[]length=int(input("请输入列表的总个数:"))i=0whilei<length:t 输入第d个元素arr.append(element)i+=1#列表转为集合newList=set(arr)print(newList)答案:defadd(a,b):defadd(a,b):ab是维数相同的矩阵,根据实际情况不要也可以assert(len(a)==len(b))assert(all([len(a[i])==len(b[i])==len(a[0])foriinrange(len(a))]))i,j=len(a),len(a[0])c=[[0]*j]*iforminrange(i):forninrange(j):c[m][n]=a[m][n]+b[m][n]returncreturnca=[[1,2,3],[4,5,6],[7,8,9]]b=[[9,8,7],[6,5,4],[3,2,1]]c=add(a,b)print(c)答案:dic={}i=0dic={}i=0whilei<3:r输入学生学号:e输入学生姓名:dic.setitem(number,name)i+=1print("排序前:%s"%dic)defdict2list(dic:dict):将字典转化为列表keysdic.keys()vals=dic.values()lst=[(key,val)forkey,valinzip(keys,vals)]returnlstnew=sorted(dict2list(dic),key=lambdax:x[0],reverse=False)print("排序后:%s"%new)答案:defdelMale(dict):keys=[]values=[]defdelMale(dict):keys=[]values=[]for(key,value)indict.items():keys.append(key)values.append(value)forvalueinvalues:ifvalue==0:ifvalue==0:index=values.index(value)arrKey=keys[index]deldict[arrKey]values[index]=3keys[index位"dic={"小明":0,"小红":1,"小兰":1,"小白":0}print("删除前:%s"%dic)delMale(dic)print("删除后:%s"%dic)答案:arr=[12,3,37,7,91,67,27,45,6]arr=[12,3,37,7,91,67,27,45,6]defdelPrime(arr):forelementinarr:质数大于1ifelement>1:看因子foriinrange(2,element):if(element%i)==0:breakelse:arr.remove(element)delPrime(arr)print(arr)第6章 函数一、单选题BDCDCD二、单选题错对对错对对错对三、填空题逗号returnreturn不定长嵌套局部整个程序global四、简答题答案:局部变量:函数内部定义的变量;全局变量:函数外部定义的变量;作用域是整个程序。答案:def关键字开头,后面接函数标识符名称和圆括号;给函数起名字的时候,规则跟变量的名字是一样的;任何传入参数和自变量必须放在圆括号中间;函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明;函数内容以冒号起始,并且缩进;return表达式]return相当于返回None。五、程序分析题1.结果为1002.结果为:2003.结果为:200,100六、编程题答案:defgetMax():defgetMax():num11个整数:"))num2num22个整数:"))num33个整数:"))temp02ifnum1num2:temp=num1else:temp=num2iftemp>num3:return中最大值为:str(temp)else:return中最大值为:str(num3)maxValuegetMax()print(maxValue)答案:defdefsum(n):res=0whilen>=1:ifn%2==0:res-=1.0/(n*(n+1))else:res+=1.0/(n*(n+1))n-=1returnresnum=int(input("请输入一个整数:"))print(sum(num))答案:defis_palindrome(n):n=str(n)defis_palindrome(n):n=str(n)m=n[::-1]returnn==mresult=is_palindrome(1247321)result=is_palindrome(1247321)print(result)答案defsjx(a,b,c):defsjx(a,b,c):if(a+b>canda+c>bandb+c>a):return构成三角形"else:return能构成三角形result1=sjx(3,45)print(result1)result2=sjx(1,1,2)print(result2)答案:##定义函数deflcm(x,y):#ifxy:greater=xelse:greater=ywhile(True):if((greater%x==0)and(greater%y==0)):lcm=greaterbreakgreater+=1returnlcm#获取用户输入num1int(input("输入第一个数字num2int(input("输入第二个数字print(num1,"和",num2,"的最小公倍数为",lcm(num1,num2))第7章 高级函数一、单选题BCDA二、判断题错错错对对错错对对错对三、填空题闭包函数被修饰的函数4. @内嵌mapNonefilter布尔两四、简答题答案:存在于两个嵌套关系的函数中,并且闭包是内部函数;内部函数引用了外部函数的变量(自由变量;外部函数会把内部函数的函数名称返回。答案:引入日志;函数执行时间统计;执行函数前预备处理;执行函数后清理功能;权限校验;缓存。答案:map函数会根据提供的函数对指定的序列做映射。filter函数会对指定序列执行过滤操作。reduce函数会对参数序列中的元素进行累积。五、程序分析题能,结果为:6678能,结果为:6666六、编程题1、答案:result=filter(lambdax:(x+1)%2,[1,2,3,4,5])result=filter(lambdax:(x+1)%2,[1,2,3,4,5])print(result)第8章 文件一、单选题CACBDDC二、判断题对对对对错三、填空题close()offset列表文件夹tell四、简答题答案:行解码后读取、显示、修改或执行。答案:read(num)方法读取文件;readlines方法读取文件;readline方法一行一行读数据。五、程序题答案:new=[]new=[]f=open('itheima.txt','r')contents=f.readlines()foreleincontents:ifele.startswith('#')==False:new.append(ele)print(new)f.close()f.close()答案:#密码薄passwordBook={}defadd(password,value):ifpasswordnotinpasswordBook.keys():passwordBook[password]=valuesave()else:密码已存在")defdelete(password):ifpasswordinpasswordBook.keys():delpasswordBook[password]print(passwordBook)save()else:密码不存在")defmodify(password,newValue):ifpasswordinpasswordBook.keys():passwordBook[password]=newValueprint(passwordBook)save()else:密码不存在")deffind(value):ifvalueinpasswordBook.values():网址存在")else:网址不存在")defsave():f=open("password.txt","w")f.write(str(passwordBook))f.close()defprintInfo():密码簿的功能如下:添加删除修改查找i0whilei<5:printInfo()m请输入要选择的功能:ifnum==1:web输入存入的网址:")password1输入密码:")add(password1web)print(passwordBook)elifnum==2:password2输入密码:")delete(password2)elifnum==3:password3输入密码:")value3输入新的网址:")modify(password3,value3)elifnum==4:value4输入要查找的网址:")find(value4)i+=1答案:f=open("itheima.txt","r")content=list(eval(f.read()))content.sort()f=open("itheima.txt","r")content=list(eval(f.read()))content.sort()print(content)答案:f=open("itheima.txt","r")content=f.read()f=open("itheima.txt","r")content=f.read()newStr=""forstringincontent:temp=ord(string)iftempinrange(65,91):iftemp==90:char1=chr(temp-25)newStr+=char1else:char2=chr(temp+1)newStr+=char2eliftempinrange(97,123):iftemp==122:char3=chr(temp-25)newStr+=char3else:char4=chr(temp+1)newStr+=char4else:newStr=newStr+stringf.close()f2=open("itheima-加密后.txt","w")f2.write(newStr)f2.close()f2.close()答案:f=open(r'd:\1.txt','r')s=f.readlines()f.close()f=open(r'd:\1.txt','r')s=f.readlines()f.close()r=[i.swapcase()foriins]f=open(r'd:\2.txt','w')f.writelines(r)f.close()答案:importpickleimportpickled={'张三':98,'李四':90,'王五':100}print(d)f=open('score.dat','wb')pickle.dump(1,f)pickle.dump(d,f)f.closef=open('score.dat','rb')pickle.load(f)d=pickle.load(f)f.close()print(d)第9章 异常一、单选题BACDACD二、判断题对错错对对对三、填空题1.Exception2.索引3.finally4.assert5.except四、简答题答案:在Python中,程序在执行的过程中产生的错误称为异常,比如列表索引越界、打开不存在的文件等。答案:try语句有两种主要形式:try-excepttry-finally,它们是互相排斥的,只能使tryexceptclassHeightException(Exception):passtry:height=int(input("请输入您的身高:"))ifheight<30orheight>250:raiseHeightExceptionweight=int(input("classHeightException(Exception):passtry:height=int(input("请输入您的身高:"))ifheight<30orheight>250:raiseHeightExceptionweight=int(input("请输入您的体重:"))weightS=height-100ifweight>weightSandweight-weightS<0.05*weightS:重达标")elifweight<weightSandweightS-weight<0.05*weightS:重达标")else:重不达标")exceptHeightException:您输入的身高有误try:try:score请输入学生的成绩:"))ifscore>=90andscore<=100:秀")elifscore>=80andscore<90:好")elifscore>=60andscore<80:格")else:else:assert及格"exceptExceptionasresult:0分:第10章 Python模块一、单选题CDA二、判断题错对对对错三、填空题random.randint文件name包安装path四、简答题答案:Python脚本在运行时都有一个“name”属性。如果脚本作为模块被导入,则其“name则其“name”属性值被自动设置为“name”属性。利用“name”属Python程序的运行方式。答案:(1)搜索当前目录,如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。(2)如果都找不到。Python会继续查看默认路径。答案:n中有一个概念叫做模块(modulC语言中的头文件以JavaPythonsqrtimport关键math这个模块。答案:在Python中用关键字import来引入某个模块:导入模块,使用“import模块”引入;导入模块中的某个函数,使用“from模块名import函数名”引入;导入模块的全部内容,使用“fromimport*五、编程题defchangeNum1AndNum2(num1,num2):temp=defchangeNum1AndNum2(num1,num2):temp=num1num1=num2num2=tempreturn(num1,num2)第11章 面向对象编程(上)一、单选题BDCCAAB二、判断题对错错对错对三、填空题class对象selfinit参数四、简答题不用实例化对象就能够在本类中访问自身的属性或方法。类名,属性,方法分别用于初始化对象的属性和释放类所占用的资源。五、程序分析题能,结果为:我的名字是小明能,结果为:--del----end--六、编程题答案:classCircle:classCircle:definit(self,tup,radius,color):self.center=tupself.radius=radiusself.color=colordefperimeter(self):return3.14*2*self.radiusdefarea(self):return3.14*self.radius*self.radiuscircle=Circle((0,0),5,"蓝色")print(circle.perimeter())print(circle.area())答案:classCurriculum:classCurriculum:defdefinit(

温馨提示

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

评论

0/150

提交评论