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中多线程thread与threading的实现方法
Aug 18 Python
Python实现比较两个文件夹中代码变化的方法
Jul 10 Python
Python实现的Excel文件读写类
Jul 30 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
关于反爬虫的一些简单总结
Dec 13 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 Python
使用Python计算玩彩票赢钱概率
Jun 26 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 Python
Python reduce函数作用及实例解析
May 08 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 Python
python基础入门之普通操作与函数(三)
Jun 13 Python
Matplotlib绘制条形图的方法你知道吗
Mar 21 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制作静态网站的模板框架(二)
2006/10/09 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
PHP 程序员的调试技术小结
2009/11/15 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
2015/03/03 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
全面介绍javascript实用技巧及单竖杠
2016/07/18 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
python批量提取word内信息
2015/08/09 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
python中的itertools的使用详解
2020/01/13 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
火山动力Java笔试题
2014/06/26 面试题
化验室技术员岗位职责
2013/12/24 职场文书
浙大毕业生自荐信
2014/01/26 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
公司开业致辞
2015/07/29 职场文书
小学同学聚会感言
2015/07/30 职场文书