需求一:一个好看的欢迎界面 需求二:可以存钱 需求三:可以取钱 需求四:可以查看当前卡上的余额 需求五:输入0表示退出
实现代码如下:
def input_number(stra):
"""
从键盘获取数据
:param stra:提示内容
:return:
"""
while True:
try:
number=int(input(stra))
return number
except ValueError:
print("输入值错误,请重新输入一个数值:")
class ATM():
#定义余额为实例属性
def __init__(self,b):
self.balance=b
self.wel_page="""
欢迎使用
1.查询余额
2.存钱
3.取钱
0.退出
"""
def topup(self):
"""
完成存钱的逻辑
:return:
"""
#为提高代码的健壮性,防止用户输入的不是数值
num=input_number("请输入存钱金额:")
self.balance+=num
def takeout(self):
"""
完成取钱的逻辑
:return:
"""
#用户输入要取出的金额
num=input_number("请输入要取出的金额:")
#判断账户余额是否充足
if self.balance>=num:
self.balance-=num
print(f"取出成功,当前余额为{self.balance}元")
else:
print("金额不足,无法取出")
def main(self):
"""
#主方法,实现主要的逻辑
:return:
"""
#循环
while True:
#打印
print(self.wel_page)
#用户选择
choice=input("请输入你要进行的操作:")
#判断
if choice=="1":
print(f"当前账户余额为{self.balance}元")
elif choice=="2":
self.topup()
elif choice=="3":
self.takeout()
elif choice=="0":
print("程序即将退出")
break
else:
print("输入有误,请重新输入")
#实例化一个银行用户atm1
atm1=ATM(10000)
#调用atm1的主方法,让程序循环起来
atm1.main()