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()
 start_int = input("请选择你您想要操作功能的序号:")
 if start_int == "12":
  select = False
  print("你已经退出系统欢迎下次在来")
 elif start_int == "4":
  insert()
 elif start_int == "5":
  login()
 elif start_int == "6":
  show()
 elif start_int == "11":
  delete()
 elif start_int == "7":
  revise()
 elif start_int == "8":
  deposit()
 elif start_int == "9":
  getMoney()
 elif start_int == "10":
  UseMoney()

def menu(): # 菜单显示
 print("1========银行存取钱系统========")
 print("2===========================")
 print("3===========功能菜单===========")
 print("4=========注册个人信息==========")
 print("5============登入=============")
 print("6=========查询个人信息==========")
 print("7=========修改个人账户==========")
 print("8============存钱=============")
 print("9============取钱=============")
 print("10=========显示年收益==========")
 print("11========注销个人信息==========")
 print("12===========退出=============")

filename = "Bank.txt" # 定义保存用户信息的文件名

def save(Bank): # 创建文件方法
 try:
 Bank_txt = open(filename, "a")
 except Exception as e:
 Bank_txt = open(filename, "w")
 for info in Bank:
 Bank_txt.write(str(info) + "\n")
 Bank_txt.close()

def insert(): # 注册方法
 BankList = [] # 保存用户信息列表
 mark = True # 是否继续添加
 while mark:
 id = input("请输入您的ID密码(如1001):")
 if not id:
  break
 name = input("请输入姓名")
 if not name:
  break
 try:
  deposit = int(input("输入你要存款的金额"))
  if deposit == 0:
  break
 except:
  print("输入无效,不是输入整型数,请重新输入")
  continue
 Bank = {"id": id, "name": name, "deposit": deposit}
 BankList.append(Bank)
 mark = False
 save(BankList)
 print("注册成功")

global g_select
g_select = 0
global Username
global Userpassword

def login(): # 登入方法
 global Username
 global g_select
 global g_BankQuery
 global Userpassword
 g_BankQuery = []
 Username = str(input("请输入您的用户名"))
 Userpassword = str(input("请输入您的密码"))
 file = open(filename, 'r')
 Bank = file.readlines() # 读取全部内容
 for list in Bank:
 d = dict(eval(list)) # 字符转化为字典
 if d['name'] == Username and d['id'] == Userpassword:
  g_BankQuery.append(d)
  print("登入成功!")
  g_select = 1
 else:
  pass
 if not g_BankQuery:
 g_select = 0
 print("登入失败请先注册!")
 else:
 pass

def show(): # 查询个人信息
 if g_select == 1:
 format_title = "{:^6}{:^12}"
 print(format_title.format("名字", "存款"))
 format_date = "{:^6}{:^12}"
 for info in g_BankQuery:
  print(format_date.format(str(info.get('name')), str(info.get('deposit'))))
 else:
 print("请先登入!")

def delete(): # 删除个人账户方法
 global g_BankQuery
 cz = []
 global g_select
 choose = 0
 if g_select == 1:
 while choose < 3:
  username = str(input("请输入你姓名"))
  userpassword = str(input("请输入您的密码"))
  file = open(filename, 'r')
  Bank = file.readlines() # 读取全部内容
  for list in Bank:
  d = dict(eval(list)) # 字符转化为字典
  if d['name'] == username and d['id'] == userpassword:
   cz.append(d)
   file.close()
   choose = 3
   NewBank = open(filename, 'w') # 以写的方式打开文件
   for list2 in Bank:
   d2 = dict(eval(list2)) # 字符转化为字典
   if d2['name'] != username and d2['id'] != userpassword:
    NewBank.write(str(d2) + "\n")
   else:
    pass
  else:
   pass
  if not cz:
  choose = choose + 1
  if choose == 3:
   g_select = 0
   print("请重新登入!")
  else:
   print("用户名或者密码错误,请重新输入你还有:" + str(3 - choose) + "机会")
  else:
  g_BankQuery.clear()
  g_select = 0
  print("您的个人信息已经注销")

 else:
 print("请先登入!")

def revise(): # 修改个人账户方法
 cz = []
 global g_select
 if g_select == 1:
 username = input("请输入您的用户名:")
 userpassword = input("请输入您的密码:")
 file = open(filename, 'r')
 Bank = file.readlines() # 读取全部内容
 for list in Bank:
  d = dict(eval(list)) # 字符转化为字典
  if d['name'] == username and d['id'] == userpassword:
  cz.append(d)
  file.close()
  NewBank = open(filename, 'w') # 以写的方式打开文件
  for list2 in Bank:
   d2 = dict(eval(list2)) # 字符转化为字典
   if d2['name'] == username and d2['id'] == userpassword:
   d2['name'] = input("输入您的新名字:")
   d2['id'] = input("输入您的新密码:")
   NewBank.write(str(d2) + "\n")
   print("修改成功,请重新登入!")
   g_select = 0
   else:
   NewBank.write(str(d2) + "\n")
  else:
  pass
 if not cz:
  print("你输入的密码或者用户名有误请重新登入")
  g_select = 0
 else:
  pass
 else:
 print("请先登入!")

def deposit(): # 存钱方法
 global g_BankQuery
 global g_select
 cz = []
 if g_select == 1:
 money = int(input("请输入你要存多少钱:"))
 file = open(filename, 'r')
 Bank = file.readlines() # 读取全部内容
 for list in Bank:
  d = dict(eval(list)) # 字符转化为字典
  if d['name'] == Username and d['id'] == Userpassword:
  cz.append(d)
  file.close()
  NewBank = open(filename, 'w') # 以写的方式打开文件
  for list2 in Bank:
   d2 = dict(eval(list2)) # 字符转化为字典
   if d2['name'] == Username and d2['id'] == Userpassword:
   d2['deposit'] = str(int(d2['deposit']) + money)
   NewBank.write(str(d2) + "\n")
   print("储存成功!")
   g_BankQuery.clear()
   g_BankQuery.append(d2)
   else:
   NewBank.write(str(d2) + "\n")
  else:
  pass
 else:
 print("请先登入!")

def getMoney(): # 取钱方法
 global g_select
 global g_BankQuery
 cz = []
 if g_select == 1:
 money = int(input("请输入你要取多少钱:"))
 file = open(filename, 'r')
 Bank = file.readlines() # 读取全部内容
 for list in Bank:
  d = dict(eval(list)) # 字符转化为字典
  if d['name'] == Username and d['id'] == Userpassword:
  cz.append(d)
  if money > int(d['deposit']):
   print("您的余额不足")
  else:
   file.close()
   NewBank = open(filename, 'w') # 以写的方式打开文件
   for list2 in Bank:
   d2 = dict(eval(list2)) # 字符转化为字典
   if d2['name'] == Username and d2['id'] == Userpassword:
    d2['deposit'] = str(int(d2['deposit']) - money)
    NewBank.write(str(d2) + "\n")
    print("取钱成功!")
    g_BankQuery.clear()
    g_BankQuery.append(d2)
   else:
    NewBank.write(str(d2) + "\n")
  else:
  pass
 else:
 print("请先登入!")

def UseMoney(): # 利息计算
 UM = True
 while UM:
 try:
  money = float(input("请输入你要投资理财多少钱:"))
  year = int(input("请你输入你要储存多少年:"))
 except:
  print("请你输入整数年份!")
 if 0 < year <= 3:
  profitmargin = 0.03
 elif 3 < year <= 5:
  profitmargin = 0.04
 elif 5 < year <= 10:
  profitmargin = 0.06
 elif year > 10:
  profitmargin = 0.08
 if money < 0 or year <= 0:
  print("您的本金不能少于0元或者年份不能少于0年")
 else:
  UM = False
  profit = round(money * year * profitmargin, 3)
  print("你储存:" + str(year) + "年将获得的利润会等于:" + str(profit) + "元本金加利润会等于:" + str(profit + money) + "元")

if __name__ =="__main__":

运行图片:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python银行系统实战源码

    本文实例为大家分享了Python银行系统的具体代码,供大家参考,具体内容如下 import time import random import pickle import os class Card(object): def __init__(self, cardId, cardPasswd, cardMoney): self.cardId = cardId self.cardPasswd = cardPasswd self.cardMony = cardMoney self.cardLock

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

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

  • python实现银行实战系统

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

  • 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实现的银行系统模拟程序完整案例

    本文实例讲述了Python实现的银行系统模拟程序.分享给大家供大家参考,具体如下: 银行系统模拟程序 1.概述 ​ 使用面向对象思想模拟一个简单的银行系统,具备的功能:管理员登录/注销.用户开户.登录.找回密码.挂失.改密.查询.存取款.转账等功能. ​ 编程语言:python. 2.目的 ​ 通过这个编程练习,可以熟悉运用面向对象的思想来解决实际问题,其中用到的知识点有类的封装.正则表达式.模块等. 3.体会 ​ 在编写这个程序时,实际上的业务逻辑还是要考虑的,比如修改密码时需要输入手机号.身

  • python银行系统实现源码

    本文实例为大家分享了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 ""&quo

  • python实现银行管理系统

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

  • 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

  • C语言银行储蓄系统源码

    本文为大家分享了C语言银行储蓄系统源码,实现银行的各项功能,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> void openaccount();//开户 void save();//存款 void withdraw();//取款 void showAccount();//查询 void transferAccounts();

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

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

  • Java实现基础银行ATM系统

    目录 一.前言 二.使用步骤 三.运行效果图: 本文实例为大家分享了Java实现银行ATM系统的具体代码,供大家参考,具体内容如下 一.前言 银行ATM系列简单操作 二.使用步骤 1.创建用户信息类Account.java 代码如下(示例): package ATM; public class Account {         private String id;         private String name;         private double balance;    

  • C++实现银行排队系统

    本文实例为大家分享了C++实现银行排队系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <string.h> #include <stdlib.h> int cnt=0; //当日客流量 int sum=0; //当日客户排队总时间 typedef struct pnode{ int number; int cometime; int leavetime; struct pnode *next; }*person; typ

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

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

随机推荐