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 相关文章推荐
使用Nginx+uWsgi实现Python的Django框架站点动静分离
Mar 21 Python
使用Python对Excel进行读写操作
Mar 30 Python
Python判断文件或文件夹是否存在的三种方法
Jul 27 Python
利用Python进行异常值分析实例代码
Dec 07 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
Jan 31 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
对python中不同模块(函数、类、变量)的调用详解
Jul 16 Python
python如何将多个PDF进行合并
Aug 13 Python
Python Gluon参数和模块命名操作教程
Dec 18 Python
Python列表倒序输出及其效率详解
Mar 04 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
Apr 27 Python
Python列表元素删除和remove()方法详解
Jan 04 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获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
javascript innerText和innerHtml应用
2010/01/28 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
使用js写的一个简易的投票
2013/11/27 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
jQuery+ajax读取并解析XML文件的方法
2016/09/09 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
Python httplib模块使用实例
2015/04/11 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
Python进阶篇之字典操作总结
2016/11/16 Python
浅谈Python NLP入门教程
2017/12/25 Python
django2 快速安装指南分享
2018/01/05 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
Python 私有属性和私有方法应用场景分析
2020/06/19 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
美国美妆网站:B-Glowing
2016/10/12 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
现金会计岗位职责
2013/12/05 职场文书
公司的门卫岗位职责
2014/09/09 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers