Python 简单银行系统

python银行系统讲解_python简单的银行系统 先定义类:银行卡类class Card:def __init__(self,cid,pwd):self.cid = cidself.pwd = pwdself.money = 0self.islock = False管理员类class Admin:def __init__(self,name = 'admin',password = '123456'):self.name = nameself.p... 阅读详情

在这里插入图片描述

1. 函数方法

import datetime


balance = 1000
account_log = []

def validate(func):
    def wrapper(*args,**kwargs):
        amount = str(args[0])
        # 123.456 , 100.01 , 100  index .
        index = amount.index(".")
        if len(amount) - index - 1 > 2:
            print("输入格式有误,小数点后最多保留2位")
        else:
            func(*args,**kwargs)
    return wrapper

@validate
def deposit(amount):
    """
    存款操作
    :param amount: 存入金额
    :return: None
    """
    global balance
    balance += amount
    write_log(amount,"存入")

@validate
def withdrawal(amount):
    """
    取款
    :param amount: 金额
    :return: None
    """
    global balance
    if amount > balance:
        print("余额不足")
    else:
        balance -= amount
    write_log(amount,"取出")

def write_log(amount,type):
    """
    写入日志
    :param amount: 金额
    :param type: 存入 或者是 取出
    :return: None
    """
    now = datetime.datetime.now()
    create_time = now.strftime("%Y-%m-%d %H:%M:%S")
    data = [create_time,type,amount,f"{balance:.2f}"]
    account_log.append(data)


def print_log():
    """
    查看流水
    :return: None
    """
    print(account_log)

def show_menu():
    menu = """
操作菜单
0:退出
1:存款
2:取款
3:打印交易信息    
    """
    print(menu)

while True:
    show_menu()
    num = int(input("请根据菜单编号输入:"))
    if num == 0:
        print("您已退出系统")
        break
    elif num == 1:
        print("存款")
        amount = float(input("请输入存款金额"))
        deposit(amount)
        print(f"当前余额是{balance:.2f}")
    elif num == 2:
        print("取款")
        amount = float(input("请输入取款金额"))
        withdrawal(amount)
        print(f"当前余额是{balance:.2f}")
    elif num == 3:
        print("查看记录")
        print_log()
    else:
        print("输入有误")

2. 面向对象方法

import datetime

def validate(func):
    def wrapper(self,*args,**kwargs):
        amount = str(args[0])
        # 123.456 , 100.01 , 100  index .
        index = amount.index(".")
        if len(amount) - index - 1 > 2:
            print("输入格式有误,小数点后最多保留2位")
        else:
            func(self,*args,**kwargs)
    return wrapper

class Bank(object):
    account_log = []

    def __init__(self,name):
        self.name = name

    @validate
    def deposit(self,amount):
        user.balance += amount
        self.write_log("存入",amount)

    @validate
    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()
        create_time = now.strftime("%Y-%m-%d %H:%M:%S")
        data = [self.name,user.username,create_time,type,amount,f"{user.balance:.2f}"]
        Bank.account_log.append(data)

class ZhaoShang(Bank):
    def __init__(self,name):
        self.name = name

class JianShe(Bank):
    def __init__(self,name):
        self.name = name

class User(object):
    def __init__(self,username,balance):
        self.username = username
        self.balance = balance

    def print_log(self):
        print(Bank.account_log)

# bank = Bank("招商银行")
bank = ZhaoShang("招商银行股份有限公司")
user = User("andy",1000)


def show_menu():
    menu = """
操作菜单
0:退出
1:存款
2:取款
3:打印交易信息    
    """
    print(menu)

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写一个简单的银行自助提款机系统 #银行自动提款机系统.pyimport time from admin import Admin from atm import ATM import pickle import os def main(): #界面对象 admin = Admin() #管理员开机 admin.printAdminView() if admin.adminOption()... 阅读详情

相关推荐

python简易银行管理系统(后台数据库使用文件)

自己写简易的python银行管理系统,使用python3.6完成,还不是很完善,不过功能都均可实现

Python实例:银行存取代码

Python作业:银行收银系统(真的很简单很基础)

weixin_64714035的博客 1462

U8二次开发CO-基于Net8调用COM对象

本文章介绍的U8二次开发CO技术,就是基于微软COM组件技术,使用微软开源的编程框架Net6/7/8/9来调用U8的COM组件,完成基本的登录认证,工作流处理,数据库操作等。

pccai的博客 5501

使用python实现简单的银行管理系统

一个简单的基于python的银行管理系统的代码实现。

XiaoHei123的博客 5597

Pixhawk固定翼飞行控制实战:L1与TECS算法详解(附代码解析)

本文深入解析了Pixhawk飞控在固定翼无人机中的核心控制算法:L1导航与TECS总能量控制。通过剖析算法原理、代码实现与实战调参,帮助开发者解决航线跟踪振荡、高度速度不稳定等常见问题,实现精准稳定的自主飞行。

wine的专栏 744

告别GPS,用Sentinel-1数据+Python实战SBAS-InSAR监测城市地面沉降(保姆级教程)

本文详细介绍了如何利用Sentinel-1数据和Python实现SBAS-InSAR技术监测城市地面沉降。通过保姆级教程,从环境配置、数据获取到干涉处理、时序分析和形变反演,逐步解析全流程技术细节,帮助读者掌握毫米级精度的形变监测方法,并以上海陆家嘴区域为例展示实际应用效果。

weixin_32771907的博客 534

python实现银行管理系统

银行管理系统,实现用户的开户,转账,取款,存款,查询,锁定,解锁账户等七大功能

weixin_56853728的博客 6750

华为2288H V5服务器断电后‘趴窝’?别慌,手把手教你用SmartKit+BMC修复工具搞定

本文详细介绍了华为2288H V5服务器在断电后无法启动的修复方法,通过SmartKit和BMC修复工具进行故障诊断与修复。文章提供了从工具获取、安装到具体修复流程的完整指南,帮助运维人员快速恢复服务器运行,并给出了后续加固与预防措施,确保服务器稳定运行。

weixin_30575517的博客 297

用Python编写一个简易银行账户系统

Python编写一个简易银行账户系统 文章中主要涉及的方法是Python中的open(filename, ‘r’)以读的方式打开文件open(filename, ‘w’)以写的方式打开文件我们用for * in *读取文件中的数据或者写入文件数据 用dict(eval(list2))方法来把字符串转化为字典 详细代码如下 # 刘文豪 # 大帅哥 import math import re def main(): # 主函数 select = True while (select

nanxiang11的博客 5430

跟着团子学SAP EPPM:项目管理常见的集成场景(PPM\PS\MS Project)

在SAP的EPPM解决方案中,针对企业战略级别的投资组合管理首先是定义合适的投资组合的层级结构,在投资组合下可以通过不同维度去定义投资篮(Portofolio Bucket)进行层层拆分,在最下层级的投资篮下可以分配明细的投资项(Portofolio Item),投资项可以是独立的一个一个具体执行的项目,也可以是单纯的一次服务等等。 今天主要聚焦在投资项的维度展开讲一下在SAP中投资项常见的几种集成模式: 集成场景1:使用PPM中的Project Management进行项目管理 第一个场景是在创建投资项

Lucas1211的博客 4139

Qt多线程实战:如何优雅地处理Modbus设备通信中的线程安全问题

本文深入探讨了在Qt框架下实现Modbus设备通信时的多线程安全问题,提供了优雅的解决方案。通过生产者-消费者模型、任务队列与锁机制等设计模式,有效解决了界面卡顿、数据包错乱等问题。文章还详细介绍了对象生命周期管理、信号槽连接类型选择等关键实现细节,帮助开发者构建稳定可靠的Modbus通信模块。

weixin_30897233的博客 483

python银行系统-python实现简单银行管理系统

本文为大家分享了python银行管理系统的具体代码,供大家参考,具体内容如下自己写的练手小程序,练习面向对象的概念,代码中都有注释,刚学的同学也可以很容易看懂(需要自己用pickle模块新建一个database.txt文件,用来存储用户数据信息)。# atm.py# 各种操作类import randomfrom card import Cardfrom user import Userimport...

weixin_37988176的博客 1万+

python实现边缘检测Canny算子 (附完整源码)

python实现边缘检测Canny算子 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 457

Python:简单银行系统实现

1、admin.py 定义管理员信息和主界面显示 #!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: 617349013@qq.com @software: PyCharm @file: admin.py @time: 2018/9/11 10:14 """ import ...

caoxinjian423的博客 6201

寻路最终版哦

相信大家用unity3d寻路的时候,一定会碰到多人

yxriyin的专栏 6954

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【python简单银行系统】

代码支持简单的查询余额,存款以及取款等操作,仅供个人学习和交流

m0_73808286的博客 339

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python银行系统-python简单的银行系统

先定义类:银行卡类class Card:def __init__(self,cid,pwd):self.cid = cidself.pwd = pwdself.money = 0self.islock = False管理员类class Admin:def __init__(self,name = 'admin',password = '123456'):self.name = nameself.p...

weixin_37988176的博客 1319

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

python 通登录银行_Python3实现简单的银行账户登录系统实例

下面小编就为大家带来一篇Python3 适合初学者学习的银行账户登录系统实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧一、所用知识点:1. for循环与if判断的结合2. %s占位符的使用3. 辅助标志的使用(标志位)4. break的使用二、代码示例:'''银行登录系统'''uname = "bob"passwd = 123judgment = 0choice...

weixin_39606177的博客 726

python实例-银行管理系统(特简单的那种)

python实例学习--极简银行管理系统任务分析任务实现管理员类用户类银行卡类ATM类主函数 任务分析 任务实现 这个实例要求实现一个银行管理系统,系统开始运行时,进入欢迎界面,工作人员输入管理员账户和密码,输入失败直接退出,输入成功进入功能界面;用户选择,开户,查询等功能。其中开`在这里插入代码片`户时需要将信息存储到.txt文件中,并随机生成六位数代码。 管理员类 用户类 银行卡类 ATM类 主函数 ...

weixin_45734483的博客 9994

python实现简单银行管理系统

首先,银行管理系统通过账户来实现用户在银行中的一系列操作,而账户则分为用户个人信息User类和银行卡信息Card类 class Card: def __init__(self,cardId,passwd,balance): self.cardId = cardId self.passwd = passwd self.balance = balance self.card_lock = False class User:

qq_64875725的博客 1万+

《Python 案例》简单的银行系统

Python 简单的银行系统

君逍遥o 389

python简单编程--ATM银行管理系统

由于最近刚接触了python这门编程语言,所以今天就来给大家分享一下如何用python去写一个简单的ATM银行管理系统。 目录 一、ATM功能 注册 登录 查询余额 存款 取款 二、完整代码 一、ATM功能实现代码 1.注册 代码如下:(新用户注册时,系统将奖励3000元) def reg(): while True: un = input('请输入您的用户名:【注册】') for item ..

wuyomhchang的博客 1万+

银行管理系统python实训报告_基于Python实现一个简单的银行转账操作

前言在进行一个应用系统的开发过程中,从上到下一般需要四个构件:客户端-业务逻辑层-数据访问层-数据库,其中数据访问层是一个底层、核心的技术。而且在实际开发中,数据库的操作也就是说数据访问层都是嵌套在其他语言中的,其是编程的核心。本文面向的是python语言,即通过python操作数据库来实现简单的银行转账操作。工具python提供了python DB API用来统一操作数据库,使访问数据库的接口规...

weixin_39743824的博客 2485

python简单的银行系统

先定义类: 银行卡类 class Card: def __init__(self,cid,pwd): self.cid = cid self.pwd = pwd self.money = 0 self.islock = False管理员类 class Admin: def __init__(self,nam...

dieqi6794的博客 1019

Python简单银行系统

功能: 开户、查询、取款、存款、转账、改密、锁定、解锁、补卡、销户、退出 简述:用户需要用身份证号码开户注册一个银行卡号,可以实现查询、存款取款等功能。此系统主要采用面向对象的方法,信息存储方式采用json模块来进行存储。(数据存储也可以用pickle模块,彩票系统已采用,此系统就不用pickle模块,而采用json模块,下文会简单介绍一下json和pickle的优缺点,纯属个人见解) 系统主...

YiHong_Li的博客 4313
上一篇: Python基础(更新)
下一篇: Mysql数据库基础操作
Asssshzy
博客等级 码龄7年 28粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值