'''
2. 完成银行管理系统:
1. 进入银行系统:选择:普通用户,银行人员
2. 可以初始化银行人员的用户名和密码,注意添加标记是否是银行人员
True:银行人员
False:普通用户
3. 用户登录:
选择普通用户:只有建卡成功才可以登录
选择银行人员:银行人员可以通过建卡,添加普通用户
4. 普通用户功能:
查看余额 ,存款, 取款, 转账, 退出登录
5. 银行人员功能:
建户【0】 销户【1】 查看余额【2】 存款【3】 取款【4】
转账【5】 解锁【6】 用户信息【7】 修改用户信息【8】
退出登录【9】
注意:普通用户或者银行人员的功能都要通过函数定义完成
建户:
银行人员可以创建普通用户,普通用户注册需要密码,卡号(随机生成),真实姓名,身份证号码,手机号码,账户金额默认0元
可以使用卡号和密码登录
用户登录错误次数达到3次以上则锁定卡号 (定义函数实现)
销户:
删除创建的用户
查看余额,存款,取款,转账:
用户登录成功可以查看余额,存款,取款,转账。
存款,取款--》用户不能锁定,输入存款金额,必须大于0且50的倍数
转账:用户不能锁定,要求输入转账用户的卡号,金额(必须大于0且50的倍数)
对方账户金额必须增加
查看余额:显示账户的总金额
解锁:需要卡号和身份证号码,正确则可以解锁,否则解锁失败
显示用户信息:打印用户的详细信息(根据卡号查询用户的详细信息)
修改用户信息:卡号,身份证号码,如果成功可以修改用户名,手机号码信息,修改成功后显示修改后的用户信息
退出:退出银行系统
'''
import random
import time
print('***************************银行管理系统****************************')
message = {
} # 普通人员信息,每建一个户就添加一个人员信息
lock_card = set()
bank_message = {
'123456': '123456'} # 银行人员默认就这一个人
iswork = False # 默认银行人员下班
# 选择是普通人员还是银行人员,选择之前先判断有没有办卡
def choice():
print('*********进入系统***********')
time.sleep(1)
people = int(input('请输入选择1:普通用户,2:银行人员.:'))
if people == 1:
print('您选择了普通用户')
return False
elif people == 2:
print('您选择了银行人员')
return True
else:
print('输入错误')
choice()
# 检验是否办卡,其实没必要用装饰器写出来
def is_login(f):
def wrapper(*args, **kwargs):
username = input('请输入用户名:')
if username in message: # 信息里是否有银行人员或者普通人员的卡号
print('您是普通用户')
time.sleep(1)
f() # 若已建卡,请登录
elif username in bank_message:
print('您是银行人员')
time.sleep(1)
f()
else: # 否则去办卡
print('没有该用户,请先咨询银行办卡')
time.sleep(1)
f()
return wrapper
@is_login # 选择之前先判断有没有建卡,办卡了就登录
def login(): # 登录
identify = choice()
global iswork # 全局变量
if identify: # 银行人员
username_bank = input('请输入用户名:')
if username_bank in bank_message:
password_bank = input('请输入密码:')
if password_bank == bank_message[username_bank]:
print('登陆成功,开始上班')
iswork = True
bank_function() # 银行人员
else:
print('密码错误')
iswork = False
else:
print('不存在该银行人员用户')
else: # 普通人员
if iswork: # 如果银行上班
username = input('请输入用户名:')
if username not in lock_card:
if username in message:
for i in range(3):
password = input('请输入密码:')
if password == message[username][3]:
print('登陆成功!')
pople_function(username)
break
else:
print('密码错误')
else:
print('账号锁定')
lock_card.add(username)
else:
print('没有该用户,请先建卡')
print('请先像银行人员询问建卡') # 普通用户
time.sleep(1)
print('*********进入银行人员账户对普通人员进行操作*************')
bank_function()
username2 = input('请输入卡号:')
if username2 in message.keys(): # 检验银行是否开户,有可能直接选择9退出登录
for i in range(3):
print(message)
username1
简易版银行管理系统
最新推荐文章于 2024-03-10 22:20:30 发布