python 课后作业037将求解读代码块
本帖最后由 小蜂队 于 2022-4-15 21:02 编辑0. 按照以下要求定义一个游乐园门票的类,并尝试计算2个成人+1个小孩平日票价。
.平日票价100元
.周末票价为平日的120%
.儿童半票
class Ticket():
def __init__(self, weekend=False, child=False):
self.exp = 100
if weekend:
self.inc = 1.2
else:
self.inc = 1
if child:
self.discount = 0.5
else:
self.discount = 1
def calcPrice(self, num):
return self.exp * self.inc * self.discount * num
>>> adult = Ticket()
>>> child = Ticket(child=True)
>>> print("2个成人 + 1个小孩平日票价为:%.2f" % (adult.calcPrice(2) + child.calcPrice(1)))
2个成人 + 1个小孩平日票价为:250.00
疑问如下:
1.weekend=True,child=True 是否可以?
2.在我的理解是使用 def __init__()方法的域下是属性,是变量赋值操作;而def calcPrice(self,num):的域下是方法对吗?
3.请解释 adult = Ticket() and child = Ticket(child=True) 起到的作用 本帖最后由 璎珞君 于 2022-4-16 08:58 编辑
weekend=True,child=True 是否可以?
如果你不给他传值,则默认为true会导致一些问题,具体可以看下面的代码 使用此代码:
class Ticket():
def __init__(self,weekend=False,child=False):
self.exp = 100
if weekend:
self.inc = 1.2
else:
self.inc = 1
if child:
self.discount = 0.5
else:
self.discount = 1
def calcPrice(self,num):
return self.exp * self.inc * self.discount * num
adult = Ticket()
child = Ticket(child=True)
print('2个成人 + 1个小孩平日票价为:%.2f' %(adult.calcPrice(2)+child.calcPrice(1)))
页:
[1]