1.实现商品信息类的封装
- 商品信息类的封装
电影《我不是药神》上映后, 口碑极高, 一种名为”格列宁”的进口药为人们所熟知,医药 话题也引起了人们热烈的讨论。 下面按照要求定义一个药品 Medicine 类。
Medicine 类的属性如下:
药名 name
价格 price
生产日期 PD
失效日期 Exp
Medicine 类的方法如下:
获取药品名称 get_name()返回类型: str
计算保质期(失效日期和生产热情的时间间隔) get_GP()返回类型: str
计算药品是否过期? is_expire()返回类型:Bool
商品名称和生产日期只能查看不能修改。
拓展知识: datetime 模块
strptime(): 用户输入的日期和时间是字符串,要处理日期和时间,首先必须把 str 转换为 datetime 对象。
from datetime import datetime
class Medicine(object):
def __init__(self, name, price,PD,Exp):
self.name = name
self.price=price
self.PD=PD
self.Exp=Exp
def get_name(self):
return self.name
def get_GP(self):
start = datetime.strptime(self.PD,'%Y-%m-%d')
end=datetime.strptime(self.Exp,'%Y-%m-%d')
GP=end-start
return GP.days
def is_expire(self):
today=datetime.now()
oldday=datetime.strptime(self.Exp,'%Y-%m-%d')
if today>oldday:
return True
else:
return False
if __name__ == '__main__':
medicineObj=Medicine('感冒胶囊',100,'2019-1-1','2019-3-1')
print('name:',medicineObj.get_name())
print('药品保质期为:',medicineObj.get_GP())
print('药品是否过期:','药品过期' if medicineObj.is_expire() else '药品未过期')
2.银行账户资金交易管理
用类和对象实现一个银行账户的资金交易管理, 包括存款、取款和打印交易详情, 交易详情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。
下面按照要求定义一个账户 Account 类。账户 Account 类的属性:
- 当前账户金额 money
- 当前账户交易日志 account_logs
账户 Account 类的方法:
3. 存钱 deposit()无返回值
4. 取钱 withdrawl()无返回值
5. 打印交易详情 transaction_log()无返回值
#coding: utf-8
import time
import prettytable as pt
money = 0
acount_logs = []
class Account:
def __init__(self):
global money
self.money = money
self.acount_logs = acount_logs
def