鱼C论坛

 找回密码
 立即注册
查看: 792|回复: 2

python 第37课请教

[复制链接]
发表于 2018-4-27 21:25:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:定义一个游乐园门票的类,并尝试计算2个小孩和1个成人门票的价格:
平日门票 100   周末门票为平日门票的120%   儿童半票

  1. class Ticket():
  2.         def __init__(self, weekend=False, child=False):
  3.                 self.exp = 100
  4.                 if weekend:
  5.                         self.inc = 1.2
  6.                 else:
  7.                         self.inc = 1
  8.                 if child:
  9.                         self.discount = 0.5
  10.                 else:
  11.                         self.discount = 1
  12.         def calcPrice(self, num):
  13.                 return self.exp * self.inc * self.discount * num

  14. >>> adult = Ticket()
  15. >>> child = Ticket(child=True)
  16. >>> print("2个成人 + 1个小孩平日票价为:%.2f" % (adult.calcPrice(2) + child.calcPrice(1)))
  17. 2个成人 + 1个小孩平日票价为:250.00
复制代码


以上是课后作业的答案
疑问1:self.exp = 100         self.inc = 1.2          self.discount = 0.5  这里的 exp,inc,discount 是什么鬼 这些是对象么  可以随便添加的么?  
我看书上和视频里都是 再上面有这个变量 然后才 self.变量
疑问2:求注释一下 return self.exp * self.inc * self.discount * num 这句
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-28 08:43:06 | 显示全部楼层
hi
1. exp,inc,discount 都是变量名:不加self,该变量为类变量;加self,该变量为实例化对象的变量
2. 通过四则运算计算出最终的票价,请参考题意进行理解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-28 08:55:50 | 显示全部楼层
1 当然可以随意添加,python中可以直接赋值完成声明和定义,无需先声明

2 计算最终的价格
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-29 19:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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