学了判断和循环的,就要用这写个小游戏,虽然简单,但也是自己的劳动成果吧。
不多说,直接上代码了。
##只用了循环和判断语句
##带有无卡存款功能
##存款的金额必须是50的整数倍
##取款的金额上限为10000,必须是100的整数倍,到10000后就无法取款
##如果卡余额不足10000,则取款上限是卡的余额,可取金额是100的整数倍
##存取款加一起的操作最高可操作5次,5次后就不能进行存取操作
##进入系统后密码输入次数最多为5次,如果5次全错,就自动退出
##进入系统修改密码的次数限定为三次,修改密码的验证次数为俩次
##只有两次输入的密码一样,才判定修改密码成功
##如果第三次修改密码失败,则直接判定为修改密码失败,就自动退出
##如果密码修改了3次,存取款次数达到了5次,也会自动退出
xinhao=input("请按1进入无卡存款,按别的任意键表示已经插入银行卡:")
if xinhao!="1" and len(xinhao)>=1:
xinhao=2
while xinhao=="1":
kahao1=input("请输入需要存款的16位银行卡号,或者按1退出:")
if kahao1=="1":
break
kahao2=input("请在次输入16位银行卡号:")
while kahao1 != kahao2:
kahao1 = input("请输入需要存款的银行卡号,或者按1退出:")
if kahao1=="1":
break
kahao2 = input("请再次输入银行卡号:")
if kahao1==kahao2:
print("你将对%s的账户进行存款"%kahao1)
print("注意:单张纸币的面额必须是50元或是100元")
wukack=input("确认请按1,按别的数字取消:")
if wukack != "1" and len(wukack)>=1:
wukck=2
while wukack=="1":
print("请把你要存款的钞票放入存款入口")
ck1=int(input("你本次存入的金额是:"))
if ck1%50 == 0:
print("你本次的存款金额为%d"%ck1)
ckqr=input("确认请按1,按别的数字取消:")
if ckqr != "1" and len(ckqr)>=1:
ckqr=2
if ckqr=="1":
print("你已成功存款%d元:"%ck1)
print("感谢你的使用")
break
else:
print("请取回你的钞票")
zcck=input("退出请按0,按别的任意键继续存款:")
if zcck=="0":
break
else:
pass
else:
print("请取回不是50或是100面额的钞票")
else:
pass
break
if xinhao == 2:
yongfuxinxi = {"姓名":"张三","卡号":"1234567890","密码":"256494","余额":"15420"}
yongfu = yongfuxinxi.get("姓名")
print("持卡人姓名是%s"%yongfu) ##银行卡持有人姓名
zhanghao = yongfuxinxi.get("卡号") ##银行卡账号
print("卡号是%s,"%zhanghao)
b1 = int(yongfuxinxi.get("密码")) ##银行卡密码
print("密码是%d"%b1)
YY = int(yongfuxinxi.get("余额")) ##银行卡当前余额
if YY >= 10000:
YA = 10000
else:
YA=(YY//100)*100##设置当前最高可取金额
b2 = int(input("请输入你的6位密码:") ) ##第一次输入验证码
czcs = 0 ##对用户存取款操作的次数进行统计
gaimicshu = 0 ##对用户修改密码的次数进行统计
cs = 1 # 对用户输入密码的次数进行统计
tu ="" #退出初始化
yaa=1 ##可取款金额初始化
while cs <= 4: ##密码最多允许输入5次
if b1 != b2:
cs += 1
x = input("输入错误,请重新输入6位密码:")
b2 = int(x)##如果输入密码错误。则返回重输
else:
print("密码输入正确")
print("你的账户余额为%d元" % YY)
print("你今日最多可取款的金额为%d元" %YA )
ccz = int(input("你需要进行什么操作,1:存款,2:取款,0:修改密码,按其他数字键退卡:"))
if ccz != 1 and ccz != 2 and ccz != 0 and len(str(ccz)) >= 1 :
ccz = 3
while czcs <= 5:##设置存取款操作次数,最高为5次
if ccz == 1:
print("注意:单张纸币的面额必须是50元或是100元")
print("请把钞票放入存款入口,进行存款")
ck = int(input("存款金额:"))
if ck%50 == 0: ##设置存款金额必须是50的整数倍
print("你的存款金额为:%d,已经为你完成存款" % ck)
YY = ck + YY ##返回当前账户余额
print("当前你的账户余额为%d" % YY)
yongfuxinxi["余额"] = str(YY)
czcs += 1
ccz = int(input("你需要进行什么操作,0:修改密码,1:存款,2:取款,按其他数字键退卡:"))
if ccz != 1 and ccz != 2 and ccz != 0 and len(str(ccz)) >= 1:
ccz = 3
else:
print("请取回不是50或是100面额的钞票")
elif ccz == 2:
if yaa == 0 :
print("今天已经没有可取的钱")
ccz = int(input("存款请按1,修改密码请按0,按别的任意键退出:"))
if ccz != 0 and ccz !=1 and len(str(ccz))>=1:
ccz = 3
else:
print("输入取款金额必须是100的整数倍,否则无法取款")
qk = int(input("请输入你的取款金额,最多可取%d元:" % YA))
if qk <= YA:
if qk % 100 == 0:
qr = int(input("取款金额为%d元,确认请按1,按其他数字键取消:" % qk))
if qr != 1 and len(str(qr)) >= 1:
qr = 2
if qr == 1:
YY = YY - qk
YA = YA - qk
print("请在出钞口取走你的钞票")
print("你的账户余额为%d元" % YY)
yongfuxinxi["余额"] = str(YY)
print("你当前剩余可取金额为%d元"%YA)
czcs += 1
if YA//100 == 0:
yaa=0
ccz=int(input("存款请按1,修改密码请按0,按其他数字退卡:"))
if ccz != 1 and ccz != 0 and len(str(ccz)) >= 1 :
ccz = 3
else:
ccz = int(input("存款请按1,取款请按2,修改密码请按0,按其他数字键退卡:"))
if ccz != 1 and ccz != 2 and ccz != 0 and len(str(ccz)) >= 1:
ccz = 3
elif qr == 2:
ccz = int(input("存款请按1,取款请按2,修改密码请按0,按其他数字键退卡:"))
if ccz != 1 and ccz != 2 and ccz != 0 and len(str(ccz)) >= 1:
ccz = 3
else:
print("你的输入有误,请重新操作")
else:
print("取款金额必须要100的整数倍,请重新输入取款金额")
else:
print("你输入的取款金额大于可取款金额")
print("你最多可取%d元,请重新操作" % YA)
elif ccz == 3:
for key,value in yongfuxinxi.items():
print(key,value)
print("请取回你的卡!")
print("感谢你的使用,再见!")
break
elif ccz == 0 :
while gaimicshu < 3:
gaimi1=input("请输入新的6位数字密码,或者按1取消修改:")
if gaimi1 != "1":
gaimi2=input("请再次输入6位数字密码:")
else:
ccz = int(input("你需要进行什么操作,1:存款,2:取款,0:修改密码,按其他数字键退卡:"))
if ccz != 1 and ccz != 2 and ccz != 0 and len(str(ccz)) >= 1:
ccz = 3
break
if gaimi1 != gaimi2 :
print("密码修改失败")
gaimicshu += 1
if gaimicshu >= 3:
print("密码修改失败,你今日修改密码次数已满3次,请改日再来")
for key, value in yongfuxinxi.items():
print(key, value)
tu = input("请按任意键退出:")
if len(tu) >= 1:
print("已退出,请取回你的卡")
print("感谢你的使用,再见!")
break
else:
if len(tu) >= 1:
break
else:
print("修改密码成功,你当前的密码是%s"%gaimi1)
b1=int(gaimi1)
yongfuxinxi["密码"] = gaimi1
gaimicshu += 1
if gaimicshu >= 3:
print("你今日修改密码次数已满3次")
yongfuxinxi["密码"] = gaimi1
ccz = int(input("你需要进行什么操作,1:存款,2:取款,按其他数字键退卡:"))
if ccz != 1 and ccz != 2 and len(str(ccz)) >= 1:
ccz = 3
break
else:
gaimi2 = ""
ccz = int(input("你需要进行什么操作,1:存款,2:取款,0:修改密码,按其他数字键退卡:"))
if ccz != 1 and ccz != 2 and ccz != 0 and len(str(ccz)) >= 1:
ccz = 3
break
else:
if len(tu) >=1 :
break
else:
print("你今日修改密码已经满3次,无法修改密码")
if czcs < 5:
ccz=int(input("存款请按1,取款请按2,按其他键退出:"))
if ccz != 1 and ccz != 2:
ccz = 3
break
else:
print("今日你已无法进行任何操作")
for key, value in yongfuxinxi.items():
print(key, value)
tu = input("请按任意键退出:")
if len(tu) >= 1:
print("已退出,请取回你的卡")
print("感谢你的使用,再见!")
break
else:
if len(tu) >= 1:
break
else:
print("你今日的存取操作已满5次,已经无法进行存取")
if gaimicshu < 3:
ccz = int(input("修改密码请按0,按其他任意键退出:"))
if ccz !=0 :
ccz = 3
break
else:
print("今日你已无法进行任何操作")
for key, value in yongfuxinxi.items():
print(key, value)
tu = input("请按任意键退出:")
if len(tu) >= 1:
print("已退出,请取回你的卡")
print("感谢你的使用,再见!")
break
break
else:
print("你输入密码错误超过了限制,请去柜台办理")
for key, value in yongfuxinxi.items():
print(key, value)
tu = input("请按任意键退出:")
if len(tu) >= 1:
print("已退出,请取回你的卡")