【模拟 简易银行系统~python】

这篇具有很好参考价值的文章主要介绍了【模拟 简易银行系统~python】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


个人昵称:lxw-pro
个人主页:欢迎关注 我的主页
个人感悟: “失败乃成功之母”,这是不变的道理,在失败中总结,在失败中成长,才能成为IT界的一代宗师。

面向对象编程之模拟银行系统

现在呀,虽说已经大面积的使用微信支付、支付宝支付等,可要想微信、支付宝等留有余额,还是离不开我们的存款,存款的话也得有现金,当然,自动取款机还是依旧那么方便 ,“自己动手,丰衣足食”,那么,我们的自动取款机又是怎么知道你存了这么多,怎么清楚地知道你的余额的呢,下面我们来康康这所谓的简易模拟系统叭!

相关程序代码如下:

import datetime


class 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("输入有误!")

运行效果如下:

看效果,有点长,故截成两张图
【模拟 简易银行系统~python】
【模拟 简易银行系统~python】

————————————————————————————————————————————

pandas 每日一练:

# -*- coding = utf-8 -*-
# @Time : 2022/7/29 15:15
# @Author : lxw_pro
# @File : pandas-11 练习.py
# @Software : PyCharm


import pandas as pd
import matplotlib.pyplot as plt

lxw = pd.read_excel("site.xlsx")
print(lxw)

运行结果为:

     Unnamed: 0  Unnamed: 0.1   create_dt  ...   yye  sku_cost_prc     lrl
0             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()

运行效果为:

【模拟 简易银行系统~python】


67、计算后一天与前一天sku_cost_prc的差值

print(-lxw['sku_cost_prc'].diff())

运行结果为:

0       NaN
1      1.00
2      1.92
3     -3.69
4     -2.84
       ... 
751    3.13
752   -0.77
753    0.77
754   -2.15
755    0.38
Name: sku_cost_prc, Length: 756, dtype: float64


68、计算后一天与前一天sku_cost_prc变化率

print(-lxw['sku_cost_prc'].pct_change())

运行结果为:

0           NaN
1      0.147710
2      0.332756
3     -0.958442
4     -0.376658
         ...   
751    0.802564
752   -1.000000
753    0.500000
754   -2.792208
755    0.130137
Name: 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     lrl
create_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_dt
2016-11-30      NaN
2016-11-30      NaN
2016-11-30      NaN
2016-11-30      NaN
2016-12-02      NaN
              ...  
2016-12-31    5.016
2016-12-31    4.185
2016-12-31    3.500
2016-12-31    2.802
2016-12-31    2.066
Name: sku_cost_prc, Length: 756, dtype: float64

每日一言:

自律的顶端就是享受孤独!这一年里,失去,释怀,成长,完结一半!!


持续更新中…

点赞,你的认可是我创作的动力
收藏,你的青睐是我努力的方向
评论,你的意见是我进步的财富
关注,你的喜欢是我长久的坚持
【模拟 简易银行系统~python】

欢迎关注微信公众号【程序人生6】,一起探讨学习哦!!!文章来源地址https://www.toymoban.com/news/detail-414651.html

到了这里,关于【模拟 简易银行系统~python】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【python】练习:银行管理系统

    银行管理系统是一个集开户、查询、取款、存款、转账、锁定、解锁、存盘和退出等一系列的功能的管理系统。

    2024年02月04日
    浏览(30)
  • Python - 银行账户管理系统

    题目 设计并实现一个简单的银行账户管理系统,具有以下功能: 记录用户的账户信息,包括账户名,账户号码和余额 允许用户进行存款和取款操作 允许用户查询账户余额 请设计响应的类和方法,并编写代码实现该银行账户管理系统。 思路 首先设计一个账户类:Account,类

    2024年02月03日
    浏览(34)
  • 银行业务队列简单模拟

    要求: 1。设银行有A、B两个业务窗口,A窗口的处理速度是B的2倍(A处理完两个顾客时,B处理完一个顾客) 2.奇数编号的顾客到A窗口办理业务,偶数编号的顾客到B窗口办理业务 当不同窗口同时处理完两个顾客时,A窗口顾客优先输出 代码: 运行:

    2024年02月08日
    浏览(27)
  • 银行排队模拟(数据结构--队列)

    既然你点进了这篇博客,想必大概是大一 ,而且学到了队列,刚好严蔚敏老师的数据结构在讲队列的那章讲了银行排队的模拟,为什么我知道呢?因为我就是,好了谢谢你有耐心地看完我说的“废话”,下面我就简述一下,队列的实现就不讲了,很简单就是一个先进先出。

    2024年02月03日
    浏览(26)
  • 分享大三改进后的python写的【银行管理系统】,超详细 【内附源码】

    目录 大二的时候python有个课堂作业是银行管理系统,不太满意当时的功能,于是添加了点功能。后来大三了,对python的认知又更进了一步就再次改良了我的代码。 程序入口(首页)文件名: home.py 实现开户功能(随机生成六位数的卡号、储存卡号密码、验证密码,记录开户

    2024年02月09日
    浏览(29)
  • C语言模拟银行排队叫号(顺序队)

    队列 是一种具有先进先出(FIFO)特性的线性数据结构,它只允许在队列的两端进行插入和删除操作。队列的一端称为队尾(rear),另一端称为队头(front)。新元素总是插入在队列的队尾,而从队列中删除元素时则总是删除队头元素。 由于队列具有FIFO特性,因此队列通常用

    2024年02月09日
    浏览(28)
  • python+django网上银行业务综合管理系统vue_bvj8b

    本课题主要研究如何用信息化技术改善传统网上银行综合管理行业的经营和管理模式,简化网上银行综合管理的难度,根据管理实际业务需求,调研、分析和编写系统需求文档,设计编写符合银行需要的系统说明书,绘制数据库结构模型,完成系统功能模块开发。本系统的功

    2024年02月04日
    浏览(34)
  • 操作系统银行家算法(JAVA/Python/C#/JavaScript/C/C++)代码实现

    银行家算法是一种资源分配和死锁避免算法,它通过模拟所有资源的预定最大可能数量的分配来测试安全性,然后进行“s状态”检查以测试可能的活动,然后决定是否应该允许继续分配。 Banker’s algorithm 之所以叫“银行家算法”,是因为它在银行系统中被用来检查贷款是否

    2024年02月06日
    浏览(57)
  • 「数据结构」第四次作业(2023春 - 银行排队模拟)

    这道题比较难,单独拿出来说。 先再看一遍题目: 题干描述: 【问题描述】 一个系统模仿另一个系统行为的技术称为 模拟 ,如飞行模拟器。模拟可以用来进行方案论证、人员培训和改进服务。计算机技术常用于模拟系统中。 生产者-消费者 (Server-Custom)是常见的应用模式

    2024年02月01日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包