07 银行账户资金交易管理+设计药品medicine 类

该博客包含两个任务:1.实现了一个简单的银行账户管理程序,包括存款、取款和交易日志打印功能;2.设计了一个药品类,具备获取药品名称和保质期天数的方法。用户可以进行模拟银行交易,并查看药品的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、任务1:银行账户资金交易管理

import time
import prettytable as pt

balance = 1000  # 初始化余额
acount_log = [] # 初始化交易日志
class Bank:
    def __init__(self):
        """初始化"""
        global balance
        self.balance = balance
        self.acount_log = acount_log
    def deposit(self):
        """存款"""
        amount = float(input('请输入存款金额:'))
        self.balance += amount
        self.write_log(amount,'转入')
    def withdrawl(self):
        """取款"""
        amount = float(input('请输入取款金额:'))
        # 判断余额
        if amount > self.balance:
            print('余额不足')
        else:
            self.balance -= amount
            self.write_log(amount, '消费')
    def print_log(self):
        """打印交易日志"""
        tb = pt.PrettyTable()  # 按行添加数据
        # 设置表格头
        tb.field_names = ["交易日期", "摘要", "金额", "币种", "余额"]
        for info  in self.acount_log:
            # 判断转入还是消费,为金额前添加“+”或“-”
            if info[1] == '转入':
                amout = '+{}'.format(info[2])
            else:
                amout = '-{}'.format(info[2])
            tb.add_row([info[0],info[1],amout,'人民币',info[3]])
        print(tb)
    def write_log(self,amout,handle):
        """写入日志"""
        # 获取创建时间。time.strftime获得当前时间,将时间格式化为字符串
        create_time = time.strftime('%Y-%m-%d %H:%M:%S', \
                                    time.localtime(time.time()))
        data = [create_time, handle, amout, self.balance]   # 组装列表
        self.acount_log.append(data)    # 添加到日志列表

def show_menu():
    """显示菜单"""
    menu = '''菜单
    0:退出
    1:存款
    2:取款
    3:打印交易详情
    '''
    print(menu)
if __name__ == "__main__":
    show_menu()
    num = float(input('请根据菜单输入操作编号:'))
    bank = Bank()
    while num!= 0 :
        if num == 1:
            bank.deposit()
        elif num == 2:
            bank.withdrawl()
        elif num == 3:
            bank.print_log()
        else:
            print('您的输入有误!')
        num = float(input('请根据菜单输入操作编号:'))
    print('您已退出系统')

在这里插入图片描述

2、任务2:设计药品medicine 类

from datetime import datetime

class Medicine:
    # 准备空集
    name = ''
    price = 0
    PD = ''
    Exp = ''

    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')
        return (end-start).days

medicine = Medicine(name='格列宁',price=1860,\
                    PD='2018-5-1',Exp='2018-12-1')
name = medicine.get_name()
GP = medicine.get_GP()

print('药品名称:{}'.format(name))
print('药品保质期:{}天'.format(GP))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

So come on

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值