100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python循环结构练习(五)—— 模拟银行ATM存款取款

python循环结构练习(五)—— 模拟银行ATM存款取款

时间:2020-05-13 07:42:58

相关推荐

python循环结构练习(五)—— 模拟银行ATM存款取款

一. 场景描述案例:模拟银行ATM存款取款

1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式);

2.提示用户输入银行卡和密码,遍历每张卡的信息验证是否成功;

3.如果用户输入正确—提示让用户选择取款.存款还是退出,并提示余额多少. 输入错误—重新输入卡号密码;

选择取款—提示输入取款额度,如果超过余额,提示余额不足;否则,在余额上减掉相应金额;

选择存款—输入存款额度,余额加上相应额度,并提示余额多少;

选择退出—重新登录;

4.设置3次输入错误账号密码,提示银行卡已被锁定,程序结束。

二. 实现思路

首先,手动输入三张银行卡(使用列表嵌套字典)。设计登录系统。利用选择结构实现三个业务。

三. 代码实现

card1 = {"姓名":"张三","卡号":"1001","密码":"123","余额":"1000"}card2 = {"姓名":"李四","卡号":"1002","密码":"123","余额":"2000"}card3 = {"姓名":"王五","卡号":"1003","密码":"123","余额":"3000"}card4 = {"姓名":"赵六","卡号":"1004","密码":"123","余额":"4000"}cardsList=[card1,card2,card3,card4]msg = 0i = 3while 1:cnum = input("请输入卡号:")cpwd = input("请输入密码:")for card in cardsList:if cnum == card["卡号"] and cpwd == card["密码"]:msg = 1print("恭喜您!",card["姓名"],"验证成功!")if msg == 0:i = i - 1if i > 0:print("验证失败!请重新输入!")print("您还有",str(i),"次机会。")if i == 0:print("您没有登录机会了!")breaktemp = 0if msg == 1:while 1:choice = int(input("请输入要办理的业务(1.存款 2.取款 3.退出):"))if choice == 1:deposit = int(input("请输入您的存款额度:"))for card in cardsList:if cnum == card["卡号"]:card["余额"] = int(card["余额"]) + depositprint("存款完成,您当前卡中余额为:",card["余额"],"元")elif choice == 2:withdrawmoney = int(input("请输入您要取款的金额:"))for card in cardsList:if cnum == card["卡号"]:if withdrawmoney > int(card["余额"]):print("余额不足!")else:card["余额"] = int(card["余额"]) - withdrawmoneyprint("恭喜您取款成功,当前卡中的余额为",card["余额"],"元")elif choice == 3:print("您已经退出!")temp = 1breakelse:print("没有此类相关的业务!")if temp == 1:break

四. 运行结果

五. 反思

需要弄明白字典里面的键值对的数据类型。循环结构里面经常需要存在一些标志变量用来判断业务是否达到上限。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。