import csv import os import sys import datetime # 运行时生成csv文件,写入title def make_csv(): files = os.listdir() if "funds_trade.csv" not in files: f = open("funds_trade.csv","w",encoding="utf-8",newline="") fw = csv.writer(f) fw.writerow(["用户名", "时间", "存入/支出", "金额"]) f.close() if "user.csv" not in files: f = open("user.csv", "w", encoding="utf-8", newline="") fw = csv.writer(f) fw.writerow(["name", "pwd"]) f.close() # 显示登录菜单 def show_menu(): print("欢迎来到【银行资金管理系统】,请选择!") choose = eval(input("直接登录请按【1】,注册请按【2】:")) if choose == 2: user_register() elif choose == 1: name_L = input("请输入账户名:") passwd_L = input("请输入密码:") user ={"name":name_L,"passwd":passwd_L} user_login(user) else: print("选择错误,请重新输入!") show_menu() # 判断是否登录成功,以及下一步操作 def user_login(userInfo): name = userInfo.get("name") passwd = userInfo.get("passwd") f = open("user.csv","r",encoding="utf-8") fr = csv.reader(f) flag = 0 for i in fr: if i[0] == name and i[1] == passwd: flag = 1 print("登陆成功!") show_mainMenu(name) break if flag == 0: print("登陆失败,请重新登录!") show_menu() # 注册 def user_register(): name_R = input("请输入账户名:") passwd_R = input("请输入密码:") f = open("user.csv","a",encoding="utf-8",newline="") fw = csv.writer(f) if name_R != None and passwd_R != None: fw.writerow([name_R,passwd_R]) f.close() print("您已注册成功!") print("即将跳转至登录...") show_menu() # 登陆成功主菜单 def show_mainMenu(name=""): print("-----------【银行资金管理系统】-----------") print("1:资金存入/取出") print("2:建议账单打印") print("3:退出系统") print("-----------------------------------------") choose2 = eval(input("请输入数字进行相关操作:")) if choose2 == 1: operation(name) elif choose2 == 2: funds_print(name) choose4 = eval(input("请按【0】退出账单查看:")) if choose4 == 0: show_mainMenu(name) else: show_mainMenu(name) elif choose2 == 3: sys.exit(0) else: print("输入错误,请重新输入!") show_mainMenu() def operation(name=""): num = eval(input("请输入你存(+)取(-)的金额:")) if num != 0: funds_trade(name,num) print("数据更新成功!") print("数据保存成功!") balance = get_banlance(name) if num > 0: print("您已成功存入{}元!当前余额{}元!".format(num, balance)) else: print("您已成功取出{}元!当前余额{}元!".format(num, balance)) choose3 = eval(input("继续存取请按【1】,返回主菜单请按【2】:")) if choose3 == 1: operation(name) elif choose3 == 2: show_mainMenu(name) else: print("输入错误,回到主菜单!") show_mainMenu(name) else: print("输入错误,请重新输入!") operation(name) def funds_trade(name, money): f = open("funds_trade.csv","a",encoding="utf-8",newline="") fw = csv.writer(f) balance = int(get_banlance(name)) fw.writerow([name,datetime.datetime.now(),str(money),str(balance+money)]) f.close() def funds_print(name): f = open("funds_trade.csv", "r", encoding="utf-8") fr = csv.reader(f) if fr: print("用户名 时间 存入/支出 余额") for i in fr: if i[0] == name: print("{} {} {} {}".format(i[0],i[1],i[2],i[3])) def get_banlance(name): f = open("funds_trade.csv","r",encoding="utf-8") fr = csv.reader(f) banlance = 0 for i in fr: if i[0] == name: banlance = int(i[-1]) f.close() return banlance
请各位大佬帮我看下 谢谢