项目描述:
该系统为银行记账系统,主要包含以下几个模块,用户模块,金融模块。
项目需求:
1、用户可以登陆自己的账户
2、用户可以存取款,如果金额单笔交易大于2W,则禁止交易,小于100禁止交易。
3、用户可以给其他账户转账。
4、用户可以查询到转账记录(转出、转入)。
5、有管理员用户,管理员用户可以查看所有用户的账户信息和金额。
6、管理员用户可管理所有人的交易信息。
额外:
7、记录用户登陆信息
8、记录存取款信息
import re
import sys
import time
def cun_kuan():
a10 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
a11 = a10.read()
c = []
k = re.findall("{}.*余额:(.*)".format(a3), a11)
for i in range(1, len(k) + 1):
c.append(k[-i])
q = float(c[0])
q = int(q)
print("*"*100)
print("欢迎进入存款界面")
print(" "*100)
print(" " * 100)
print(" " * 100)
print("*" * 100)
c3 = float(input("请输入存款的金额:"))
if c3 >= 100 and c3 <= 20000:
print(f"存款{c3}元成功")
q=q+c3
a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
a9.write("\n")
m="用户名:"
a9.write(m)
a9.write(a3)
a9.write(" ")
t = "余额:"
a9.write(t)
q=str(q)
a9.write(q)
a9.close()
else:
print("存款金额太小或者太大")
g=input("是否要直接退出(输入是或否):")
if g=="是":
print("退出登录")
else:
bank()
def qu_kuan():
global q
a10 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
a11 = a10.read()
c = []
k = re.findall("{}.*余额:(.*)".format(a3), a11)
for i in range(1, len(k) + 1):
c.append(k[-i])
q = float(c[0])
q = int(q)
print("*" * 100)
print("欢迎进入取款界面")
print(" " * 100)
print(" " * 100)
print(" " * 100)
print("*" * 100)
c4 = float(input("请输入取款的金额:"))
if c4 >= 100 and c4 <= 20000:
if c4<q:
print(f"取款{c4}成功")
q=q-c4
a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
a9.write("\n")
m = "用户名:"
a9.write(m)
a9.write(a3)
a9.write(" ")
t="余额:"
a9.write(t)
q=str(q)
a9.write(q)
a9.close()
else:
print("余额不足,请重新输入取款金额")
qu_kuan()
else:
print("取款金额太小或者太大")
qu_kuan()
g = input("是否要直接退出(输入是或否):")
if g == "是":
print("退出登录")
else:
bank()
def zhuan_zhang():
print("*" * 100)
print("欢迎进入转账界面")
print(" " * 100)
print(" " * 100)
print(" " * 100)
print("*" * 100)
a10 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
a11 = a10.read()
c = []
k = re.findall("{}.*余额:(.*)".format(a3), a11)
for i in range(1, len(k) + 1):
c.append(k[-i])
q = float(c[0])
q = int(q)
a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
d1 = float(input("请输入转账金额(金额大于100小于20000):"))
c5 = input("用户名:")
a5 = open(r"C:\Users\PC-win10-22\Desktop\存储用户名和密码.txt")
a6 = a5.read()
a7 = re.findall("用户名:(.*) ", a6)
for i in a7:
if c5 == i :
print("转账成功")
q = q-d1
a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
a9.write("\n")
m = "用户名:"
a9.write(m)
a9.write(a3)
a9.write(" ")
t = "余额:"
a9.write(t)
q = str(q)
a9.write(q)
a9.write("\n")
d3 = "转账记录:"
a9.write(d3)
a9.write(a3)
a9.write(" ")
d1 = str(d1)
a9.write(d1)
a9.write(" ")
a9.write(c5)
a9.close()
d = []
a10 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
a11 = a10.read()
k = re.findall("{}.*余额:(.*)".format(c5), a11)
for i in range(1, len(k) + 1):
d.append(k[-i])
l = float(d[0])
d1 = float(d1)
l = l + d1
a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
a9.write("\n")
m = "用户名:"
a9.write(m)
a9.write(c5)
a9.write(" ")
t = "余额:"
a9.write(t)
l = str(l)
a9.write(l)
a9.close()
g = input("是否要直接退出(输入是或否):")
if g == "是":
print("退出登录")
else:
bank()
def cha_xun2():
print("*" * 100)
print("欢迎进入查询界面")
print(" " * 100)
print(" " * 100)
print(" " * 100)
print("*" * 100)
d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
d4 = d3.read()
a7=re.findall("用户名:{}.*".format(a3), d4)
a8=re.findall("转账记录:{}.*".format(a3),d4)
c=[]
for i in range(1, len(a7) + 1):
c.append(a7[-i])
print(c[0])
for j in a8:
print(j)
d3.close()
g = input("是否要直接退出(输入是或否):")
if g == "是":
print("退出登录")
else:
bank()
def cha_xun1():
print("*" * 100)
print("欢迎进入管理员查询界面")
print(" " * 100)
print(" " * 100)
print(" " * 100)
print("*" * 100)
d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
d4 = d3.read()
a7 = re.findall("用户名:.*", d4)
a8=re.findall("转账记录:.*",d4)
for i in a7:
print(i)
for j in a8:
print(j)
d3.close()
g = input("是否要直接退出(输入是或否):")
if g == "是":
print("退出登录")
else:
bank1()
def guan_li():
print("*" * 100)
print("欢迎进入管理交易信息界面")
print(" " * 100)
print(" " * 100)
print(" " * 100)
print("*" * 100)
f=input("是否允许该交易(填写是或否):")
if f=="是":
print("此次交易成功")
elif f=="否":
print("此次交易失败")
g = input("是否要直接退出(输入是或否):")
if g == "是":
print("退出登录")
else:
bank1()
def bank1():
print("*" * 100)
print("管理交易信息(1)")
print("查询所有账户信息(2)")
print("退出登录(3)")
print(" " * 100)
print(" " * 100)
print(" " * 100)
print("*" * 100)
b3 = int(input("请输入你想进行的操作代号:"))
if b3 == 1:
print("管理交易信息")
guan_li()
elif b3 == 2:
print("查询所有账户信息")
cha_xun1()
elif b3 == 3:
print("退出登录")
else:
print("请重新输入有效代号")
bank()
def bank():
print("*"*100)
print("存款(1)")
print("取款(2)")
print("转账(3)")
print("查询账户(4)")
print("退出登录(5)")
print("*"*100)
b3=int(input("请输入你想进行的操作代号:"))
if b3==1:
print("进入存款界面")
cun_kuan()
elif b3==2:
print("进入取款界面")
qu_kuan()
elif b3==3:
print("进入转账界面")
zhuan_zhang()
elif b3==4:
print("进入查询账户界面")
cha_xun2()
elif b3 == 5:
print("退出登录")
else:
print("请重新输入有效代号")
bank()
def deng_lu():
global a3
a3 = input("用户名:")
a4 = input("密码:")
a5 = open(r"C:\Users\PC-win10-22\Desktop\存储用户名和密码.txt")
a6 = a5.read()
a7 = re.findall("用户名:(.*) ", a6)
a8 = re.findall("密码:(.*)", a6)
if a3 == "admin" and a4 == "admin":
print("登录管理员账号成功")
d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
d4 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
d5 = "登陆账户记录:"
d3.write("\n")
d3.write(d5)
d3.write(a3)
d3.write(" ")
d3.write(d4)
d3.close()
bank1()
for i in range(len(a7)):
for j in range(len(a8)):
if a3 == a7[i] and a4 == a8[i]:
print("登录成功")
d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
d4 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
d5 = "登陆账户记录:"
d3.write("\n")
d3.write(d5)
d3.write(a3)
d3.write(" ")
d3.write(d4)
d3.close()
bank()
break
else:
pass
def zhu_ce():
global a3
a = input("是否已注册(填写是或者否):")
if a == "否":
print("您好,请注册")
b1 = open(r"C:\Users\PC-win10-22\Desktop\存储用户名和密码.txt", "a")
a1 = input("用户名:")
a2 = input("密码:")
c1 = "用户名:"
c2 = "密码:"
b1.write("\n")
b1.write(c1)
b1.write(a1)
b1.write(" ")
b1.write(c2)
b1.write(a2)
b1.close()
b2=open(r"C:\Users\PC-win10-22\Desktop\记录.txt","a")
c3="余额:"
b2.write("\n")
b2.write(c1)
b2.write(a1)
b2.write(" ")
b2.write(c3)
b2.write("0")
b2.close()
print("注册成功!")
print("您好,请登录")
a3 = input("用户名:")
a4 = input("密码:")
a5 = open(r"C:\Users\PC-win10-22\Desktop\存储用户名和密码.txt")
a6 = a5.read()
a7 = re.findall("用户名:(.*) ", a6)
a8 = re.findall("密码:(.*)", a6)
for i in range(len(a7)):
for j in range(len(a8)):
if a3 == a7[i] and a4 == a8[i]:
print("登录成功")
d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
d4 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
d5 = "登陆账户记录:"
d3.write("\n")
d3.write(d5)
d3.write(a3)
d3.write(" ")
d3.write(d4)
d3.close()
bank()
break
elif a == "是":
print("您好,请登录")
deng_lu()
else:
print("输入有误,请重新输入")
zhu_ce()
print("欢迎来到银行记账系统")
zhu_ce()