Python程序设计周辉课后参考答案_第1页
Python程序设计周辉课后参考答案_第2页
Python程序设计周辉课后参考答案_第3页
Python程序设计周辉课后参考答案_第4页
Python程序设计周辉课后参考答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

第1章课后习题参考答案一、选择题CADDB二、填空题1、机器语言2、机器语言 汇编语言3、编译 解释4、脚本语言5、可移植性6、pip第2章课后习题参考答案一、选择题DBCAC ACDDA二、填空题1、缩进2、整数,浮点数,复数,布尔类型3、5554、'h' 'Pytho' 'yth' 'nhy' 'Pytho'5、0.0001236、'P'7、False8、'PYTHONSTRGNI'9、换行10、如果a=3,b=-2,那么执行语句a+=b后a的值为1。三、上机操作题1、代码如下:C=float(input('请输入摄氏温度:'))F=C*1.8+32print('转换后的华氏温度是:{:.2f}'.format(F))2、代码如下:r=float(input('请输入球的半径:'))area=4*3.14*r*rv=4/3*3.14*r*r*rprint('球的表面积为:{:2.2f},体积为:{:2.2f}'.format(area,v))3、代码如下:a=1b=-10c=16v=b*b-4*a*cx1=(-b+v**0.5)/(2*a)x2=(-b-v**0.5)/(2*a)print(x1,x2)代码如下:name=input('请输入姓名:')year=int(input('请输入出生年份:'))age=2023-yearprint('您好!{}。您{}岁。'.format(name,age))代码如下:s='/digi/'print(s.count('i'))print(s.index('ifeng'))s=s.replace('.','-')print(s[13:18],s[-15:-10],s[-15:18])print(s[23:27],s[-5:-1],s[23:-1])s=s.upper()print(len(s))print(s+'core')代码如下:money=10000#本金m_rate=0.20#保证金比率d_rate=0.0005#日利率p_rate=0.005#日罚息率real_money=money-money*d_rate*360-money*m_rate#实际发放金额print(f'放款日实际收到借款平台发放的贷款金额为{real_money:.2f}元。')#6200.00interest=money*d_rate*360*2#借款2年的总利息penalty=money*(1+p_rate)**360-money#第2年的总罚息print(f'借款两年后需要支付的本利和为{money+interest+penalty:.2f}')#63825.75print(f'一年后按时还款的实际借款金额为{real_money:.2f}')print(f'一年后按时还款的实际借款利息为{money-real_money-money*m_rate:.2f}')print(f'一年后按时还款的实际借款利率为{(money-real_money-money*m_rate)/real_money:.2%}。')#29.03%print(f'两年后偿还所有本金利息的实际借款金额为{real_money:.2f}')两年后偿还所有本金利息的实际借款金额为6200.00print(f'两年后偿还所有本金利息的实际支付利息和罚息金额为{interest+penalty:.2f}')print(f'两年后偿还所有本金利息的实际利率为{(interest+penalty-money*m_rate)/real_money:.2%}')#835.90%第3章课后习题参考答案一、选择题CDBACDADAD DDAC二、填空题1、while for2、continue break3、冒号4、93python225、3,5,7,9 46、True7、case8、FalseTrue9、Ctrl+C组合键(或者break语句)三、上机操作题1、代码如下:a="-"b="+"c="|"d=""foriinrange(11):ifiin[0,5,10]:print(f"{b}{a*4}{b}{a*4}{b}")else:print(f"{c}{d*8}{c}{d*8}{c}")2、代码如下:i=1j=0sum=0a=6whilei<=10:j=10*j+asum=j+sumi=i+1print(sum)3、代码如下:n=int(input("请输入一个整数n:"))sum=0foriinrange(1,n+1):sum=sum+(-1)**(i+1)*(2*i-1)print(sum)代码如下:s=input("请输入一个字符串:")count=0whiles!="stop":foriins:if'z'>=i>='a':count+=1print(f"其中小写字母的个数为:{count}")count=0s=input("继续输入字符串,直到stop结束:")代码如下:st=input("输入一个字符串:")pair=0forsinst:ifs=="'":pair+=1ifpair==0:print("没有单引号")elifpair%2==0:print(f"找到了{pair//2}对单引号")else:print(f"有{int(pair/2)}对配对单引号,存在没有配对的单引号")代码如下:importturtleastt.pensize(10)t.penup()t.goto(-400,200)t.pendown()t.write("BEIJING2022",font=("Arial",60,"italic"))color1=["blue","black","red"]color2=["yellow","green"]t.penup()t.goto(-300,-100)t.pendown()foriincolor1:t.color(i)t.circle(100)t.penup()t.forward(200)t.pendown()t.penup()t.goto(-200,-200)t.pendown()foriincolor2:t.color(i)t.circle(100)t.penup()t.forward(200)t.pendown()t.done()代码如下:importturtleastt.pensize(10)t.color("green")t.left(90)t.circle(100,180)foriinrange(3):t.right(90)t.circle(100,180)第4章课后习题参考答案一、选择题CCCDA BCACA二、填空题1、方括号 英文半角顿号2、有序索引 0 加1 3、True True4、sort() reverse 降序排列 升序排列5、sorted() 不改变 [4,2,1,3,5] [1,2,3,4,5]6、逗号 圆括号 不可以 可以7、花括号 逗号 键值对 键 值8、无序序列 键 无序9、唯一 不允许 允许10、{} dict()11、大括号 不能 无序三、上机操作题1、代码如下:importrandoma=[str(i)foriinrange(0,10)]b=[chr(i)foriinrange(97,97+26)]c=[chr(i)foriinrange(65,65+26)]d=a+b+cforiinrange(10):password=""forjinrange(8):k=random.randint(0,len(d)-1)password+=d[k]print(password)2、代码如下:lst=[9,6,7,3,1,8,4,3,6]odd=[]even=[]foriinlst:ifi%2==0:even.append(i)else:odd.append(i)print(odd+even)3、代码如下:a_list=[4,10,12,4,9,6,3]b_list=[12,8,5,6,7,6,10]a_list.extend(b_list)res=sorted(list(set(a_list)),reverse=True)print(res)4、代码如下:a_list=[4,6,8,6,4,2,6,6,5,7,4,2,1,7,6,7,4]result_dict={}foriina_list:ifinotinresult_dict:result_dict[i]=1else:result_dict[i]+=1foriinresult_dict:print(i,"在列表中出现",result_dict[i],"次")5、代码如下:digits=(1,2,3,4)result=[]foriindigits:forjindigits:forkindigits:ifi!=jandj!=kandi!=k:result+=[i*100+j*10+k]print(result)6、代码如下:dicts={'Aaa':80,'Bbb':75,'Ccc':88,'Ddd':65,'Eee':90,'Fff':95,'Mmm':58,'Www':86,'Yyy':78}m=list(dicts.items())m.sort(key=lambdax:x[1])print(m)total=0average=0foriindicts.values():total+=iprint('学生的总分为',total,',平均分为',round(total/len(dicts),2))forname,gradeindicts.items():ifgrade>85:print(name,end="")7、代码如下:#文本字符分析str=input("请输入要分析的字符串,回车表示结束:")whilestr!='':#创建字典类型保存结果counts={}#扫描字符串,统计出现频率forchinstr:counts[ch]=counts.get(ch,0)+1#改变类型为列表类型,按照出现频率降序排列items=list(counts.items())#利用sort函数排序items.sort(key=lambdax:x[1],reverse=True)#打印输出foriinrange(len(items)):word,count=items[i]print("{0:<10}{1:>5}".format(word,count))str=input("请输入要分析的字符串,回车表示结束:")8、代码如下:importjiebaexcludes={"两个","一个","只见","如何","那里","哥哥","不能","如此","说道","军马","次日","军士","头领","左右","一齐","引兵","里面","梁山泊","只得","于是","今日","不敢","知府","都督","人马","不知","先锋","前面","将来","弟兄","众人","这里","小人","出来","妇人","好汉","便是","问道","起来","却是","我们","因此","甚么","这个","正是","三个","且慢","兄弟","不是","只是","不曾","且说","不得","一面","看时","如今","来到","当下","原来","将军","山寨","喝道","兄长","大喜","天子","商议","那个","商议","公人","性命","城中","那厮","小弟","东京","下山","不见","怎地","上山","随即","不要","一条","和尚","背后","洒家","许多","太尉","答道","收拾","却说","一声","小喽啰","那汉","教头","银子"}txt=open('水浒.txt','r',encoding='utf-8').read()words=jieba.lcut(txt)counts={}forwordinwords:iflen(word)<=1:continueelse:counts[word]=counts.get(word,0)+1forwordinexcludes:delcounts[word]items=list(counts.items())items.sort(key=lambdax:x[1],reverse=True)foriinrange(20):name,count=items[i]print(name,'出现的次数为:',count)第5章课后习题参考答案一、选择题选择题第7题的第2行代码需要缩进DDCAC CCBCD二、填空题1、global2、None3、[2,3,4]4、65、[3,3,3]6、1三、上机操作题1、代码如下:intcount=[]upstrcount=[]lowstrcount=[]othercount=[]defnumber(a):foriina:ifi.isdigit():intcount.append(i)elifi.isupper():upstrcount.append(i)elifi.islower():lowstrcount.append(i)else:othercount.append(i)return{'数字的个数':len(intcount),'大写字母的个数':len(upstrcount),'小写字母的个数':\len(lowstrcount),'其他字符的个数':len(othercount)}a=input('请输入一个字符串:')tem=number(a)print(tem)2、代码如下:lis=[1,2,3,4,5,6,7,8,9]square=lambdax:x**2new_lis=list(map(square,lis))print(new_lis)3、代码如下:递归:deffib(q):ifq==1orq==2:return1returnfib(q-1)+fib(q-2)foriinrange(1,21):print(f"{fib(i):>5}",end='')if(i==10):print("")非递归:deffib(n):a,b=0,1foriinrange(n+1):a,b=b,a+breturnaforiinrange(20):print(f"{fib(i):>5}",end='')if(i==9):print("")代码如下:importrandomdeffunc():a=list(random.choice(range(1,10))foriinrange(1,100))print("元组为:",a)b=tuple(str(max(a)))c=tuple([ifori,xinenumerate(a)ifx==max(a)])d=b+cprint("第一个元素为列表中最大值,其余元素为最大值在列表中的下标为:",d)第6章课后习题参考答案一、选择题CDDDD CBDDC A二、填空题1、文本文件 二进制文件2、encoding 3、getcwd()4、w+5、seek()6、try except finally7、mask三、上机操作题1、代码如下:fp=open(r'6-01.txt','r+',encoding='utf-8')txt=fp.read()forcin'~`!@#$%^&*()_+-=[]{}\|;\':",./<>?':txt=txt.replace(c,'')words=txt.split()dt={}forwordinwords:dt[word]=dt.get(word,0)+1fork,vindt.items():fp.write(f'{k}:{v}\n')fp.close()2、代码如下:whileTrue:try:m=int(input('请输入第1个整数:'))n=int(input('请输入第2个整数:'))print(f'{m}/{n}={m/n}')exceptValueError:print('输入的不是整数,请重新输入!')exceptZeroDivisionError:print('输入的除数为0!请重新输入!')else:break3、代码如下:importjiebaimportwordcloudwithopen(r'6-03.txt','r',encoding='utf8')asfp:txt=fp.read()words=jieba.lcut(txt)txt=''.join(words)w=wordcloud.WordCloud(width=800,height=600,font_path='simhei.ttf',background_color='white',min_word_length=2)w.generate(txt)w.to_file('20threport.png')第7章课后习题参考答案一、选择题BACC二、填空题1、None2、['to','to']3、{6}4、re.I re.M5、*6、'Itiseasytolearnprogramming'7、['x','y','z','']三、上机操作题1、代码如下:importres1=input('请输入第1个字符串:')s2=input('请输入第2个字符串:')s3=input('请输入第3个字符串:')x1=re.match(r'\A\d{17}[\dXx]\Z',s1)x2=re.match(r'\A0\d{2,3}-[1-9][0-9]{6,7}\Z',s2)x3=re.match(r'^https?://([\w-]+\.)+[\w-]+(/[\w\-\.?%&=#]*)*$',s3)print(f"{s1}{'是'ifx1else'不是'}身份证号码。")print(f"{s2}{'是'ifx2else'不是'}国内电话号码。")print(f"{s3}{'是'ifx1else'不是'}HTTP网址。")2、代码如下:importres='wearearetheworld!'print(re.sub(r'\b(?P<n>\w+)\b\W+\b\1\b',r'\1',s))3、代码如下:importres=input('请输入一段英文文本:')print(re.findall(r'\ba\w{4}\b',s))第8章课后习题参考答案一、选择题BCCCCABCDD二、填空题1、.2、派生3、__del__4、self.5、False三、上机操作题1、代码如下:classCircle:def__init__(self,r):self.__radius=rdefgetArea(self): importmathreturnmath.pi*self.__radius*self.__radiusc=Circle(15.6)print(c.getArea())2、代码如下:classCat:def__init__(self,weight,age):self.__weight=weightself.__age=agedefgetWeight(self):returnself.__weightdefgetAge(self):returnself.__agecat1=Cat(11.4,3)print(cat1.getWeight(),cat1.getAge())cat2=Cat(15,5)print(cat2.getWeight(),cat2.getAge())3、代码如下:classPoint:def__init__(self,x=0,y=0,z=0):self.__x=xself.__y=yPoint._z=zdefsetVal(self,x,y,z):self.__x=xself.__y=yPoint._z=zdefgetX(self):returnself.__xdefgetY(self):returnself.__ydefgetZ(self):returnPoint._zp=Point(4.5,22.1,9)print(p.getX(),p.getY(),p.getZ())4、代码如下:classA:def__init__(self,x):self.__x=xdefmove(self,mx):self.__x+=mxdefgetX(self):returnself.__xclassB(A):def__init__(self,x,y,z):super().__init__(x)self.__y=yself.__z=zdefgetY(self):returnself.__ydefgetZ(self):returnself.__zdefmove(self,nx,ny,nz):super().move(nx)self.__y+=nyself.__z+=nzdefgetX(self):returnsuper().getX()b=B(20,30,-10)b.move(10,15,5)print(b.getX(),b.getY(),b.getZ())5、代码如下:classDim:def__init__(self,x=0,y=0,z=0):self.__x=xself.__y=yself.__z=zdefsetval(self,nx,ny,nz):self.__x=nxself.__y=nyself.__z=nzdef__iadd__(self,d):self.__x+=d.__xself.__y+=d.__yself.__z+=d.__zreturnselfdef__isub__(self,d):self.__x-=d.__xself._

温馨提示

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

评论

0/150

提交评论