python程序设计第⼆版课后答案江红_Python核⼼编程第⼆版
第⼗三章课后答案
13-1.程序设计。请列举⼀些⾯对对象编程与传统旧的程序设计形式相⽐的先进之处。
没什么只有OO能做到,OO更多的是给了你⼀种能⼒,⼀种忽略细节的能⼒:忽略的越多,⼈类有限的智⼒就可以容纳越多越复杂的问题,并由此提⾼⽣产效率。
任何抽象的本质都是忽略,OO刚好是其中⼀种
13-2.函数和⽅法的⽐较。函数和⽅法之间的区别是什么?
从定义的⾓度上看,我们知道函数(function)就相当于⼀个数学公式,它理论上不与其它东西关系,它只需要相关的参数就可以。所以普通的在module中定义的称谓函数是很有道理的。
那么⽅法的意思就很明确了,它是与某个对象相互关联的,也就是说它的实现与某个对象有关联关系。这就是⽅法。虽然它的定义⽅式和函数是⼀样的。也就是说,在Class定义的函数就是⽅法
13-3.对类进⾏定制。写⼀个类,⽤来将浮点型值转换为⾦额。
importreclassMoneyFmt(object):def __init__(self,value = 0.0):
self.mvalue=valuedefdollarize(self):
val= round(self.mvalue,2)
strval= str(val).split('.')[0]
strlen=len(strval)
num= strlen%3ele1=strval[:num]
python编程基础教程课后答案
ele2=strval[num:]
汇编语言最早l= re.findall(r'.{3}', ele2)
newstr=ele1for i inl:if num ==0:
newstr=str(i)
num+= 1
access数据库教程网站else:
execution 什么意思newstr= newstr + ',' +str(i)return '$' + newstr + '.' + str(val).split('.')[1]def __nonzero__(self):if self.mvalue
==0:returnFalseelse:returnTruedef __str__(self):returnself.dollarize()def __repr__(self):
repr= str
13-7.数据类。提供⼀个time模块的接⼝,允许⽤户按照⾃⼰给定的时间格式来查看⽇期。你的类应该维护⼀个⽇期值,并⽤给定的时间创建⼀个实例,如果没有给出时间值,程序执⾏时会默认采⽤当前的系统时间。
importtimeclassTimeFormat(object):def __init__(self,t =time.time()):
l= time.strftime('%Y-%m-%d',time.ime))
ele= l.split('-')
day= ele[2]
mon= ele[1]
year=ele[0]if types == 'MDY':print(mon + '/' + day + '/' + year[-2:])elif types == 'MDYY':print(mon + '/' + day + '/' +year)elif types == 'DMY':print(day + '/' + mon + '/' + year[-2:])elif types == 'DMYY':print(day + '/' + mon + '/' +year)elif types ==
'MODYY':print(mon + ' ' + day + ',' + year)淘宝导航栏隐藏代码
13-8.堆栈类。实现⼀个堆栈类,类中应该有push()和pop()⽅法,还有⼀个isempty()⽅法,如果堆栈是空的,返回布尔值1,否则返回0。
classStack(object):def __init__(self,l =[]):
self.list=ldefisempty(self):if len(self.list) ==0:returnFalseelse:returnTruedefpeek(self):if self.isempty() ==False:print('堆为
海报设计免费网站空')else:return self.list[-1]defpush(self,ele):
self.list.append(ele)defpop(self):if self.isempty() ==False:print('堆为空')elif 'pop' indir(self.list):pass
else:
ve(self.peek())defviewstack(self):print(self.list)
13-9.队列类。实现⼀个队列类,这个类必须⽀持下⾯⼏种⽅法:enqueue()在队列的尾部加⼊⼀个新的元素,dequeue()在队列的头部取出⼀个元素,返回它并且把它从列表中删除。
13-10.堆栈和队列。编写⼀个类,定义⼀个能够同时具有堆栈和队列操作⾏为的数据结构。这个类和Perl语⾔中数组相像。需要实现四个⽅法。
13-11.电⼦商务。你需要为⼀家B2C零售商编写⼀个基础的电⼦商务引擎。你需要写⼀个针对顾客的类User,⼀个对应存货清单的类Item,还有⼀个对应购物车的类叫Cart。货物放到购物车⾥,顾客可以有多个购物车。同时购物车⾥可以有多个货物,包括多个同样的货物。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。