Python实现银行账户资金交易管理系统

用类和对象实现一个银行账户的资金交易管理, 包括存款、取款和打印交易详情, 交易详情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。
如:

下面按照要求定义一个账户 Account 类。账户 Account 类的属性:

1. 当前账户金额                               money
2. 当前账户交易日志                        account_logs

账户 Account 类的方法:

1. 存钱                                             deposit()无返回值
2. 取钱                                             withdrawl()无返回值
3. 打印交易详情                               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 deposit(self):
 amount = float(input('存入金额:'))
 self.money += amount
 self.write_log(amount,'转入')
 def withdrawl(self):
 amount = float(input('取出金额:'))
 if amount > self.money:
  print('余额不足')
 else:
  self.money -= amount
  self.write_log(amount,'取出')
 def transaction_log(self):
 tb = pt.PrettyTable()
 tb.field_names = ["交易日期","摘要","金额","币种","余额"]
 for info in self.acount_logs:
  if info[1] =='转入':
  amount = '+{}'.format(info[2])
  else:
  amount = '-{}'.format(info[2])
  tb.add_row([info[0],info[1],amount,'人民币',info[3]])
  print(tb)
 def write_log(self,amout,handle):
 create_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
 data =[create_time,handle,amout,self.money]
 self.acount_logs.append(data)
def show_menu():
 """ 显示菜单栏 """
 menu = """
====================银行账户资金交易管理====================
0: 退出
1:存款
2: 取款
3: 打印交易详情
===========================================================
 """
 print(menu)
if __name__ == '__main__':
 show_menu()
 account = Account()
 while True:
 choice = int(input("请输入您的选择: "))
 if choice == 0:
  exit(0)
  print("退出系统")
 elif choice == 1:
  flag = True
  while flag:
  account.deposit()
  flag = True if input("是否继续存款(Y|N): ").lower()== 'y' else False
 elif choice == 2:
  flag = True
  while flag:
  account.withdrawl()
  flag = True if input("是否继续取款(Y|N): ").lower()== 'y' else False
 elif choice == 3:
  account.transaction_log()
 else:
  print("请选择正确的编号")

测试结果如下:

====================银行账户资金交易管理====================
0: 退出
1:存款
2: 取款
3: 打印交易详情
===========================================================

请输入您的选择: 1
存入金额:300
是否继续存款(Y|N): N
请输入您的选择: 2
取出金额:300
是否继续取款(Y|N): Y
取出金额:100
余额不足
是否继续取款(Y|N): N
请输入您的选择: 3
+---------------------+------+--------+--------+-------+
|  交易日期  | 摘要 | 金额 | 币种 | 余额 |
+---------------------+------+--------+--------+-------+
| 2020-01-02 19:53:54 | 转入 | +300.0 | 人民币 | 300.0 |
+---------------------+------+--------+--------+-------+
+---------------------+------+--------+--------+-------+
|  交易日期  | 摘要 | 金额 | 币种 | 余额 |
+---------------------+------+--------+--------+-------+
| 2020-01-02 19:53:54 | 转入 | +300.0 | 人民币 | 300.0 |
| 2020-01-02 19:54:02 | 取出 | -300.0 | 人民币 | 0.0 |
+---------------------+------+--------+--------+-------+

请输入您的选择: 5
请选择正确的编号
请输入您的选择: 0
Process finished with exit code 0

如果可以每次存入和取出钱之后都有余额提示就更友好了!

总结

以上所述是小编给大家介绍的Python实现银行账户资金交易管理系统,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • Python如何抓取天猫商品详细信息及交易记录

    本文实例为大家分享了Python抓取天猫商品详细信息及交易记录的具体代码,供大家参考,具体内容如下 一.搭建Python环境 本帖使用的是Python 2.7 涉及到的模块:spynner, scrapy, bs4, pymmssql 二.要获取的天猫数据 三.数据抓取流程 四.源代码 #coding:utf-8 import spynner from scrapy.selector import Selector from bs4 import BeautifulSoup import ran

  • Python3 适合初学者学习的银行账户登录系统实例

    一.所用知识点: 1. for循环与if判断的结合 2. %s占位符的使用 3. 辅助标志的使用(标志位) 4. break的使用 二.代码示例: ''' 银行登录系统 ''' uname = "bob" passwd = 123 judgment = 0 choice = 2 for i in range(3): username = input("请输入用户名:") password = int(input("请输入密码:")) if use

  • Python实现类似比特币的加密货币区块链的创建与交易实例

    虽然有些人认为区块链是一个早晚会出现问题的解决方案,但是毫无疑问,这个创新技术是一个计算机技术上的奇迹.那么,究竟什么是区块链呢? 区块链 以比特币(Bitcoin)或其它加密货币按时间顺序公开地记录交易的数字账本. 更通俗的说,它是一个公开的数据库,新的数据存储在被称之为区块(block)的容器中,并被添加到一个不可变的链(chain)中(因此被称为区块链(blockchain)),之前添加的数据也在该链中.对于比特币或其它加密货币来说,这些数据就是一组组交易,不过,也可以是其它任何类型的数据

  • 使用Python的Django框架实现事务交易管理的教程

    如果你花费了很多的时间去进行Django数据库事务处理的话,你将会了解到这是让人晕头转向的. 在过去,只是提供了简单的基础文档,要想清楚知道它是怎么使用的,还必须要通过创建和执行Django的事务处理. 这里有众多的Django事务处理的名词,例如:commit_on_success , commit_manually , commit_unless_maneged,rollback_unless_managed,enter_transaction_management,leace_transa

  • Python实现银行账户资金交易管理系统

    用类和对象实现一个银行账户的资金交易管理, 包括存款.取款和打印交易详情, 交易详情中包含每次交易的时间.存款或者取款的金额.每次交易后的余额. 如: 下面按照要求定义一个账户 Account 类.账户 Account 类的属性: 1. 当前账户金额                               money 2. 当前账户交易日志                        account_logs 账户 Account 类的方法: 1. 存钱                  

  • python实现银行账户系统

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

  • python实现银行管理系统

    python实现银行管理系统,供大家参考,具体内容如下 有的地方用的方法的比较复杂,主要是为回顾更多的知识 test1用来存类和函数 #test1.py import random #用来随机产生卡号 import pickle #序列化,用来存放和取出产生的用户数据 import os #产生文件 import re #正则表达式,用来判断身份证和手机号,其他地方也可以使用 class Card: def __init__(self,cardId,password,money=0): self

  • 基于python实现银行管理系统

    一.python银行管理系统 二.分析部分 三.代码部分 import random class bankUser: # 卡号,用户姓名,身份证号,手机,预存,密码 Count_id = "" Count_Name = "" Count_IDCard = "" Count_phone = "" Count_Money = 0.00 Count_password = "" Count_Root = True

  • python区块链简易版交易完善挖矿奖励示例

    目录 说明 引言 奖励 UTXO 集 Merkle 树 P2PKH 总结 说明 本文根据https://github.com/liuchengxu/blockchain-tutorial的内容,用python实现的,但根据个人的理解进行了一些修改,大量引用了原文的内容.文章末尾有"本节完整源码实现地址". 引言 在这个系列文章的一开始,我们就提到了,区块链是一个分布式数据库.不过在之前的文章中,我们选择性地跳过了“分布式”这个部分,而是将注意力都放到了“数据库”部分.到目前为止,我们几

  • C#将隐私信息(银行账户,身份证号码)中间部分特殊字符替换成*

    大家在银行交易某些业务时,都可以看到无论是身份证.银行账号中间部分都是用*号替换的,下面小编把代码整理如下: /// <summary> /// 将传入的字符串中间部分字符替换成特殊字符 /// </summary> /// <param name="value">需要替换的字符串</param> /// <param name="startLen">前保留长度</param> /// <

  • python实现银行实战系统

    本文实例为大家分享了python实现银行实战系统的具体代码,供大家参考,具体内容如下 先附上源代码: │ admin.py                         管理员界面 │ alluser.txt                        保存用户信息 │ atm.py                             银行的各部分操作方法(存钱取钱等等) │ card.py                            定义卡的类 │ main.py      

  • python区块链简易版交易实现示例

    目录 说明 引言 比特币交易 交易输出 发送币 余额查看 总结 说明 本文根据https://github.com/liuchengxu/blockchain-tutorial的内容,用python实现的,但根据个人的理解进行了一些修改,大量引用了原文的内容.文章末尾有"本节完整源码实现地址". 引言 交易(transaction)是比特币的核心所在,而区块链唯一的目的,也正是为了能够安全可靠地存储交易.在区块链中,交易一旦被创建,就没有任何人能够再去修改或是删除它.今天,我们将会开始

  • 基于python制作简易版学生信息管理系统

    一.前言 本篇博客对于文件操作.字典.列表.匿名函数以及sort()等内置函数进行了系统的整理操作,以设计一个学生信息管理系统的形式展示,具体概念方法等会在代码后进行分析讲述,请读者仔细分析每一处解析,对于基础巩固将会有很大的帮助,其中还有每一块代码的设计思路图,逻辑分析会有一定的提升. 二.需求分析 本程序需要用到os模板首先导入,并命名要存储信息的文件 import os File_Object_Name = 'Student_Inforation.txt' 三.主函数 def Main()

随机推荐