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

运行图片:

python实现银行账户系统

python实现银行账户系统

python实现银行账户系统

python实现银行账户系统

python实现银行账户系统

python实现银行账户系统

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容