目录~python
- 面向对象编程之模拟银行系统
- 相关程序代码如下:
- 运行效果如下:
- pandas 每日一练:
- 运行结果为:
- 66、模拟绘制sku_cost_prc的简易密度曲线
- 运行效果为:
- 67、计算后一天与前一天sku_cost_prc的银行差值
- 运行结果为:
- 68、计算后一天与前一天sku_cost_prc变化率
- 运行结果为:
- 69、系统设置日期为索引
- 运行结果为:
- 70、模拟以9个数据作为一个数据滑动窗口,简易在这5个数据上取均值(`sku_cost_prc`)
- 运行结果为:
- 每日一言:
- 持续更新中...
个人昵称:lxw-pro
个人主页:欢迎关注 我的银行主页
个人感悟: “失败乃成功之母”,这是系统不变的道理,在失败中总结,模拟在失败中成长,简易才能成为IT界的银行一代宗师。
面向对象编程之模拟银行系统
现在呀,系统虽说已经大面积的模拟使用微信支付、支付宝支付等,简易可要想微信、银行支付宝等留有余额,还是离不开我们的存款,存款的话也得有现金,当然,自动取款机还是依旧那么方便 ,“自己动手,丰衣足食”,那么,我们的自动取款机又是怎么知道你存了这么多,怎么清楚地知道你的余额的呢,下面我们来康康这所谓的简易模拟系统叭!
相关程序代码如下:
import datetimeclass Bank(object): account_log = [] def __init__(self, name): self.name = name def deposit(self, amount): # 存钱 user.balance += amount self.write_log('存钱', amount) def withdrawal(self, amount): # 取钱 if amount >user.balance: print("余额不足") else: user.balance -= amount self.write_log('取钱', amount) def write_log(self, type, amount): # 写日志 now = datetime.datetime.now() ct = now.strftime("%Y-%m-%d %H:%M:%S") data = [self.name, user.name, ct, type, amount, f"{ user.balance:.2f}"] Bank.account_log.append(data)class User(object): def __init__(self, name, balance): self.name = name self.balance = balance def print_log(self): for item in Bank.account_log: print(item)def show_menu(): menu = ''' 0: 退出 1: 存款 2: 取款 3: 打印交易信息 ''' print(menu)bank = Bank("贵阳银行")user = User('lxw-pro', 520)while True: show_menu() num = int(input("请输入菜单编号:")) if num == 0: print("退出系统") break elif num == 1: print("存款") amount = float(input("请输入存款金额:")) bank.deposit(amount) print(f"当前金额是{ user.balance:.2f}") elif num == 2: print("取款") amount = float(input("请输入取款金额:")) bank.withdrawal(amount) print(f"当前金额是{ user.balance:.2f}") elif num == 3: print("查看记录") user.print_log() else: print("输入有误!")
运行效果如下:
看效果,有点长,故截成两张图
————————————————————————————————————————————
pandas 每日一练:
# -*- coding = utf-8 -*-# @Time : 2022/7/29 15:15# @Author : lxw_pro# @File : pandas-11 练习.py# @Software : PyCharmimport pandas as pdimport matplotlib.pyplot as pltlxw = pd.read_excel("site.xlsx")print(lxw)
运行结果为:
Unnamed: 0 Unnamed: 0.1 create_dt ... yye sku_cost_prc lrl0 0 1 2016-11-30 ... 8.8 6.77 30.00%1 1 2 2016-11-30 ... 7.5 5.77 30.00%2 2 3 2016-11-30 ... 5.0 3.85 30.00%3 3 4 2016-11-30 ... 19.6 7.54 30.00%4 4 5 2016-12-02 ... 13.5 10.38 30.00%.. ... ... ... ... ... ... ...751 751 752 2016-12-31 ... 1.0 0.77 30.00%752 752 753 2016-12-31 ... 2.0 1.54 30.00%753 753 754 2016-12-31 ... 1.0 0.77 30.00%754 754 755 2016-12-31 ... 7.6 2.92 30.00%755 755 756 2016-12-31 ... 3.3 2.54 30.00%[756 rows x 8 columns]
66、绘制sku_cost_prc的密度曲线
lxw['sku_cost_prc'].plot(kind='kde')plt.show()
运行效果为:
67、计算后一天与前一天sku_cost_prc的差值
print(-lxw['sku_cost_prc'].diff())
运行结果为:
0 NaN1 1.002 1.923 -3.694 -2.84 ... 751 3.13752 -0.77753 0.77754 -2.15755 0.38Name: sku_cost_prc, Length: 756, dtype: float64
68、计算后一天与前一天sku_cost_prc变化率
print(-lxw['sku_cost_prc'].pct_change())
运行结果为:
0 NaN1 0.1477102 0.3327563 -0.9584424 -0.376658 ... 751 0.802564752 -1.000000753 0.500000754 -2.792208755 0.130137Name: sku_cost_prc, Length: 756, dtype: float64
69、设置日期为索引
data = lxw.set_index('create_dt')print(data)
运行结果为:
Unnamed: 0 Unnamed: 0.1 sku_cnt ... yye sku_cost_prc lrlcreate_dt ... 2016-11-30 0 1 1.0 ... 8.8 6.77 30.00%2016-11-30 1 2 1.0 ... 7.5 5.77 30.00%2016-11-30 2 3 1.0 ... 5.0 3.85 30.00%2016-11-30 3 4 2.0 ... 19.6 7.54 30.00%2016-12-02 4 5 1.0 ... 13.5 10.38 30.00% ... ... ... ... ... ... ...2016-12-31 751 752 1.0 ... 1.0 0.77 30.00%2016-12-31 752 753 1.0 ... 2.0 1.54 30.00%2016-12-31 753 754 1.0 ... 1.0 0.77 30.00%2016-12-31 754 755 2.0 ... 7.6 2.92 30.00%2016-12-31 755 756 1.0 ... 3.3 2.54 30.00%[756 rows x 7 columns]
70、以9个数据作为一个数据滑动窗口,在这5个数据上取均值(sku_cost_prc
)
jz = data['sku_cost_prc'].rolling(10).mean()print(jz)
运行结果为:
create_dt2016-11-30 NaN2016-11-30 NaN2016-11-30 NaN2016-11-30 NaN2016-12-02 NaN ... 2016-12-31 5.0162016-12-31 4.1852016-12-31 3.5002016-12-31 2.8022016-12-31 2.066Name: sku_cost_prc, Length: 756, dtype: float64
每日一言:
自律的顶端就是享受孤独!这一年里,失去,释怀,成长,完结一半!!
持续更新中…
点赞,你的认可是我创作的
动力
!
收藏,你的青睐是我努力的方向
!
评论,你的意见是我进步的财富
!
关注,你的喜欢是我长久的坚持
!
欢迎关注微信公众号【程序人生6】,一起探讨学习哦!!!