会计用python_银行会计系统——Python实现,记账,python

class User():

def login(self):

# global name

# global password

print("------------------------------")

self.name = input(" 姓名:")

self.password = input(" 密码:")

print("------------------------------")

fail = open(r"D:\学习\python\python阶段性任务\账号.txt", "r", encoding="utf-8")

string = fail.read()

a = '用户名:"(.*?)"'

b = '密码:"(.*?)"'

l1 = re.findall(a, string)

l2 = re.findall(b, string)

while True:

for i in range(len(l1)):

if self.name == l1[i] and self.password == l2[i]:

print("用户名密码正确!正在进入用户界面。")

now_time = time.strftime("%Y年%m月%d日 %H:%M:%S:")

fail = open(r"D:\学习\python\python阶段性任务\记录.txt", "a", encoding="utf-8")

fail.write(f"登录时间:{self.name}在{now_time}登录银行记账系统。")

fail.write("\n")

fail.close()

self.interface()

return True

else:

print("用户名密码有误,重新操作(返回主界面输入1,重新输入用户名输入2)")

k = input("")

if k == "1":

Main()

return

else:

self.login()

return

def interface(self):

print("---------------------------------")

print("用户您好! ")

print(" 存款(1) ")

print(" 取款(2) ")

print(" 转账(3) ")

print(" 查询余额(4) ")

print(" 转账记录(5) ")

print(" 退出(6) ")

print(" ")

print("---------------------------------")

a = input("输入操作:")

if a == "1":

self.Deposit()

elif a == "2":

self.Withdraw()

elif a == "3":

self.Transfer()

elif a == "4":

self.Inquire()

elif a == "5":

self.Transfer_recording()

elif a == "6":

print(" 再 见 ! ")

else:

print("输入无效!请重新输入")

self.interface()

return

def Deposit(self):

fail = open(r"D:\学习\python\python阶段性任务\记录.txt", "r", encoding="utf-8")

string = fail.read()

l = re.findall(r"{}.*余额:(.*\d)".format(self.name), string)

fail.close()

q = l[len(l) - 1]

a = float(input("您要存钱的金额:"))

if a < 100:

print("金额过低禁止交易.")

k = input("返回(1) 重新输入金额(2):")

if k == "1":

self.interface()

else:

return self.Deposit()

elif a > 20000:

print("金额过高请到银行柜台进行交易")

k = input("返回(1) 重新输入金额(2):")

if k == "1":

self.interface()

else:

return self.Deposit()

else:

q = float(q)

q = q + a

print(f"存入{a}元成功!")

fail = open(r"D:\学习\python\python阶段性任务\记录.txt", "a", encoding="utf-8")

fail.write(f"用户名:{self.name} 存入{a}元 余额:{q}元")

fail.write("\n")

fail.close()

while True:

k = input("返回主界面(1) 退出(2):")

if k == "1":

self.interface()

return

elif k == "2":

print(" 再 见 ! ")

break

else:

print("输入有误")

continue

def Withdraw(self):

fail = open(r"D:\学习\python\python阶段性任务\记录.txt", "r", encoding="utf-8")

string = fail.read()

l = re.findall(r"{}.*余额:(.*\d)".format(self.name), string)

fail.close()

q = l[len(l) - 1]

a = float(input("您要取钱的金额:"))

q = float(q)

q = q - a

if a < 100:

print("金额过低禁止交易.")

k = input("返回(1) 重新输入金额(2):")

if k == "1":

self.interface()

else:

return self.Withdraw()

elif a > 20000:

print("金额过高请到银行柜台进行交易")

k = input("返回(1) 重新输入金额(2):")

if k == "1":

self.interface()

else:

return self.Withdraw()

elif q < 0:

print(f"您的存款不够取{a}元!")

k = input("返回(1) 重新输入金额(2):")

if k == "1":

self.interface()

else:

return self.Withdraw()

else:

print(f"取走{a}元成功!")

fail = open(r"D:\学习\python\python阶段性任务\记录.txt", "a", encoding="utf-8")

fail.write(f"用户名:{self.name} 取走{a}元 余额:{q}元 ")

fail.write("\n")

fail.close()

while True:

k = input("返回主界面(1) 退出(2):")

if k == "1":

return self.interface()

elif k == "2":

print(" 再 见 ! ")

break

else:

print("输入有误")

continue

def Transfer(self):

fail = open(r"D:\学习\python\python阶段性任务\记录.txt", "r", encoding="utf-8")

string = fail.read()

l = re.findall(r"{}.*余额:(.*\d)".format(self.name), string)

fail.close()

q = l[len(l) - 1]

name1 = input("您要向谁转账:")

fail1 = open(r"D:\学习\python\python阶段性任务\账号.txt", "r", encoding="utf-8")

string1 = fail1.read()

fail1.close()

a = '用户名:"(.*?)"'

R = re.findall(a, string1)

while True:

for i in range(len(R)):

if name1 == R[i]:

print("用户存在请稍等")

a = float(input("您要转账的金额:"))

q = float(q)

q = q - a

if a < 100:

print("金额过低禁止交易.")

k = input("返回(1) 重新输入金额(2):")

if k == "1":

return self.interface()

else:

return self.Transfer()

elif a > 20000:

print("金额过高请到银行柜台进行交易")

k = input("返回(1) 重新输入金额(2):")

if k == "1":

return self.interface()

else:

return self.Transfer()

elif q < 0:

print(f"您的余额不足{a}元")

k = input("返回(1) 重新输入金额(2):")

if k == "1":

return self.interface()

else:

return self.Transfer()

else:

print(f"转账{a}元成功!")

fail = open(r"D:\学习\python\python阶段性任务\记录.txt", "a", encoding="utf-8")

l1 = re.findall(r"{}.*余额:(.*\d)".format(name1), string)

q1 = l1[len(l1) - 1]

q1 = float(q1)

q1 = q1 + a

fail.write(f"{self.name} 向 {name1} 转账 {a}元 ")

fail.write("\n")

fail.write(f"用户名:{self.name} 转出{a}元 余额:{q}元")

fail.write("\n")

fail.write(f"用户名:{name1} 收入{a}元 余额:{q1}元")

fail.write("\n")

fail.close()

while True:

k = input("返回主界面(1) 退出(2):")

if k == "1":

return self.interface()

elif k == "2":

print(" 再 见 ! ")

break

else:

print("输入有误")

continue

else:

print("您要转账的用户不存在,请重新输入!")

return self.Transfer()

def Inquire(self):

fail = open(r"D:\学习\python\python阶段性任务\记录.txt", "r", encoding="utf-8")

string = fail.read()

l = re.findall(r"{}.*余额:(.*\d)".format(self.name), string)

fail.close()

q = l[len(l) - 1]

print(f"您的余额为{q}元")

while True:

k = input("返回主界面(1) 退出(2):")

if k == "1":

return self.interface()

elif k == "2":

print(" 再 见 ! ")

break

else:

print("输入有误")

continue

def Transfer_recording(self):

fail = open(r"D:\学习\python\python阶段性任务\记录.txt", "r", encoding="utf-8")

string = fail.read()

l = re.findall(r"{}.*向.*".format(self.name), string)

fail.close()

for i in range(len(l)):

print(l[i])

while True:

k = input("返回主界面(1) 退出(2):")

if k == "1":

return self.interface()

elif k == "2":

print(" 再 见 ! ")

break

else:

print("输入有误")

continue