'''
欢迎盗窃
版本信息 V3
'''
userNameInput = ""
passWordInput = ""
#我是一个字典中的字典
userDatabase = {"rule" : {"password" : "123456" , "shenMoney" : 5000} ,
"rule2" : {"password" : "123456" , "shenMoney" : 5000}
}
# 注册函数
def regist(userName , passWord):
userDatabase[userName]= {"password" : passWord , "shenMoney": 5000} # 定义一个初始金额
return 0
def login(userName , passWord):
if userDatabase.get(userName) is None:
return "登录失败,立刻滚蛋"
elif userDatabase.get(userName).get("password") == passWord:
return 0
# 账户管理:用户可以随时查看自己的账户余额。用户可以输入其他账户用户名,
# 实现转账功能;用户名必须存在。用户也可以模拟实现存取款功能。
def acou_ma(userName , need ): #这个userName一般指的是自己登录账号的名字
def showMoney():
return userDatabase.get(userName).get("shenMoney")
def inOutMoney():
userWantmoney = input("大哥,请开始你的存款取款模式,负数就是取款")
userDatabase[userName]["shenMoney"] += float(userWantmoney)
return print("您成功完成存取款,您存取的%s将会在一万年之后到账" % userWantmoney)
def transfer():
while True:
userTranAim = input("大兄弟,你要转给谁")
if userDatabase.get(userTranAim) is None or (userTranAim == userName):
print("用户不存在或者用户名就是你寄几, 坦率的讲,不允许转账")
else:
break
userTranMoney = float(input("大兄弟,你要转好多钱"))
userDatabase[userTranAim]["shenMoney"] += userTranMoney
userDatabase[userName]["shenMoney"] -= userTranMoney # 用户自己的钱包要扣钱哒
return print("转账成功,您的账户只剩下%s了" % userDatabase[userName]["shenMoney"])
if need == "showMoney":
return showMoney()
if need == "transfer":
return transfer()
if need == "inOutMoney":
return inOutMoney()
# 主要菜单
flag = 1 #退出多层while的重要flag
print("welcome to GuaNiu ATM")
while True:
userChoice = int(input("请输入您的选项 "
" 1 : 注册"
" 2 : 登录并管理"
" 3 : 退出"
))
if userChoice == 1:
while True:
userNameInput = input("请输入您的用户名")
if userDatabase.get(userNameInput) is None:
passWordInput = input("输入用户密码")
if regist(userNameInput, passWordInput) == 0:
print("注册成功")
break
else:
print("您的用户名已存在")
if userChoice == 3:
break
else:
if userChoice == 2:
while True:
if flag < 4:
userNameInput = input("输入用户名")
passWordInput = input("输入用户密码")
if login(userNameInput , passWordInput) == 0:
print("不那么尊敬的%s,您好,恭喜您登入成功" % userNameInput)
while True:
print("按1显示余额 按2存取款 按3转账 按4退出")
print("")
manage_choice = int(input("请开始你的表演"))
if manage_choice == 1:
print("您的余额是%s" % acou_ma(userNameInput, 'showMoney'))
if manage_choice == 2:
acou_ma(userNameInput, 'inOutMoney')
if manage_choice == 3:
acou_ma(userNameInput, 'transfer')
if manage_choice == 4:
flag = 5
break
elif flag == 5:
break
else:
print("输入错误")
flag = flag+1
else:
break
######代码测试区
# acou_ma("rule" , "transfer" )
评论(0)