相信每一个人在日常生活中使用ATM机的次数不少,尤其是现在微信支付,支付宝支付的普及,就需要用到ATM机并将现金存入银行卡内。
接下来我就使用python并结合面向对象的知识编写一个简易的ATM机存取款的效果【仅供参考】。
题目
简易的ATM机效果:
---------------------------------主菜单---------------------------------
×××,您好,欢迎来到×××银行ATM。请选择操作:
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
【如果该银行存在问题,请给出温馨提示】
----------------------------------------------------------------------
银行是红旗银行的程序页面:
银行是正规银行的程序页面:
代码
# -*- encoding: utf-8 -*-
"""
@author:码到成龚
motto:"听闻少年二字,应与平庸相斥。"
"""
class ATM: # ATM类
money = 0 # 资金为0(单位:元) 【类属性】
def __init__(self, name,bank): # 初始化方法
self.name = name # 代表实例的变量
self.bank=bank # 银行名
def in_Money(self,in_num):
self.money+=in_num # 添加进入money资金中
print("存款成功")
def out_Money(self,out_money):
self.money-=out_money # 从资金money中减去指定金额
print("取款成功!")
def return_Money(self):
print(f"您的余额为:{self.money}元") # 返回金额
if __name__ == '__main__':
print("-"*33+"主菜单"+"-"*33+"")
ob=ATM("码到成龚","红旗银行")
print(f"""{ob.name},您好,欢迎来到{ob.bank}ATM。请选择操作:
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
""")
print("-" * 70)
while True: # 死循环
if (ob.bank=="红旗银行"):
print("警告⚠警告⚠警告⚠该家银行存在问题!!!\n是否要继续?(是/否)")
op=input()
if(op=="是"): # 如果提示之后用户依旧一意孤行,就执行存款等一系列操作
option = int(input("请输入您的选择:"))
if (option == 1): # 查询余额
ob.return_Money() # 打印余额金额
elif (option == 2): # 存款
money = int(input("请输入存款金额:"))
ob.in_Money(money)
elif (option == 3): # 取款
money = int(input("请输入取款金额:"))
ob.out_Money(money)
elif (option == 4):
print("退出")
break
else:
print("您的输入有误,请重新输入【1-4】")
else: # 如果用户所在的银行不是红旗银行的话就正常执行操作
option = int(input("请输入您的选择:"))
if (option == 1): # 查询余额
ob.return_Money() # 打印余额金额
elif (option == 2): # 存款
money = int(input("请输入存款金额:"))
ob.in_Money(money)
elif (option == 3): # 取款
money = int(input("请输入取款金额:"))
ob.out_Money(money)
elif (option == 4):
print("退出")
break
else:
print("您的输入有误,请重新输入【1-4】")
在这个的案例中,我先创建了一个ATM类,之后再使用初始化方法给该类的对象指定属性。
接着就是获取对象名,对象到的银行,并根据银行是否是红旗银行来判断该银行是否安全,如果不安全,会在客户每一次执行输入操作的时候给用户退出操作的机会。
最后就是根据客户的输入执行相关操作
以上为个人思路及代码,如果觉得代码还有什么不足的,请在评论区留下你宝贵的建议。
如果对如上代码有任何不懂的地方也请在评论区留言。