Task 7
练习题
类与对象:
1、
num=0 为类属性:
self.x=4 , self.y=5 , C.count=6 为实例属性
2、
在变量名或者函数名前加上两个下划线,这个函数或者变量就会变为私有的了。
3、
myFun后面的括号内加self;
c=C()与c.myFun()应和class C对齐。
正确程序为:
class C:
def myFun(self):
print('Hello!')
c=C()
c.myFun()
4、
class Ticket:
def __init__(self, tp=0, p=100):
self.price = p
self.total_price = tp
def cost_ticket(self):
day = int(input("您想要购买哪天的票?请输入正整数1-7(以星期~为模板):"))
adult = int(input("请输入需要购买大人的票数(张):"))
child = int(input("请输入需要购买儿童的票数(张):"))
if day in range(1, 6):
self.total_price= adult * self.price + child * self.price * 0.5
print('总票价为:',self.total_price)
elif day in range(6, 8):
self.total_price = adult * self.price * 1.2 + child * self.price * 1.2 * 0.5
print('总票价为:',self.total_price)
m=Ticket()
m.cost_ticket()
您想要购买哪天的票?请输入正整数1-7(以星期~为模板):3
请输入需要购买大人的票数(张):2
请输入需要购买儿童的票数(张):1
总票价为: 250.0
您想要购买哪天的票?请输入正整数1-7(以星期~为模板):7
请输入需要购买大人的票数(张):2
请输入需要购买儿童的票数(张):1
总票价为: 300.0
魔法方法:
2、
import time as t
class MyTimer:
def __init__(self):
self.unit = ['年','月','天','小时','分钟','秒']
self.prompt = "未开始计时"
self.lasted = []
self.begin = 0
self.end = 0
def start(self):
self.begin = t.localtime()
self.prompt = "提示:请先调用stop开始计时"
print("计时开始......")
def stop(self):
if not self.begin:
print("提示:请先调用start()开始计时")
else:
self.end = t.localtime()
self._calc()
print("计时结束")
def _calc(self):
self.lasted = []
self.prompt = "总共运行了"
for index in range(6):
self.lasted.append(self.end[index] - self.begin[index])
if self.lasted[index]:
self.prompt += (str(self.lasted[index]) + self.unit[index])
self.begin = 0
self.end = 0
t1=MyTimer()
t1.prompt
t1.start()