鱼C论坛

 找回密码
 立即注册
查看: 2077|回复: 3

[迷途问路] python 课后作业037将求解读代码块

[复制链接]
发表于 2022-4-15 20:52:48 | 显示全部楼层 |阅读模式
27鱼币
本帖最后由 小蜂队 于 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) 起到的作用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-15 20:52:49 | 显示全部楼层
本帖最后由 璎珞君 于 2022-4-16 08:58 编辑

QQ截图20220416085529.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-15 21:03:19 From FishC Mobile | 显示全部楼层
weekend=True,child=True 是否可以?
如果你不给他传值,则默认为true会导致一些问题,具体可以看下面的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-16 09:16:23 | 显示全部楼层
使用此代码:
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)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 01:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表