python实现银行账户系统


Posted in Python onFebruary 22, 2021

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__":

运行图片:

python实现银行账户系统

python实现银行账户系统

python实现银行账户系统

python实现银行账户系统

python实现银行账户系统

python实现银行账户系统

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

Python 相关文章推荐
python中django框架通过正则搜索页面上email地址的方法
Mar 21 Python
一步步教你用Python实现2048小游戏
Jan 19 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
May 30 Python
Python查看微信撤回消息代码
Jun 07 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 Python
Python实现Mysql数据统计及numpy统计函数
Jul 15 Python
python list转置和前后反转的例子
Aug 26 Python
django框架auth模块用法实例详解
Dec 10 Python
python对一个数向上取整的实例方法
Jun 18 Python
Python3 webservice接口测试代码详解
Jun 23 Python
利用Python优雅的登录校园网
Oct 21 Python
python实现猜拳游戏项目
Nov 30 Python
Django实现简单的分页功能
Feb 22 #Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
Feb 22 #Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 #Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 #Python
Python爬虫制作翻译程序的示例代码
Feb 22 #Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 #Python
sklearn中的交叉验证的实现(Cross-Validation)
Feb 22 #Python
You might like
在PHP中实现Javascript的escape()函数代码
2010/08/08 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
判断脚本加载是否完成的方法
2009/05/26 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
Python中的tuple元组详细介绍
2015/02/02 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
pytorch简介
2020/11/11 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
北京银河万佳Java面试题
2012/03/21 面试题
Ruby如何定义一个类
2012/10/08 面试题
装修五一活动策划案
2014/01/23 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
我的小天地教学反思
2014/04/30 职场文书
岗位工作说明书
2014/07/29 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python