银行ATM系统
1.定义一个全局变量:money,用于记录银行卡余额(默认5000000)
2.定义一个全局变量:name,用于记录客户姓名(启动程序默认)
3.定义如下函数:
-查询余额函数 query()
-存款函数 save()
-取款函数 get_money()
-主菜单函数 main()
要求:
1.程序启动后要求输入客户姓名
2.查询余额、存款、取款后都会返回主菜单
3.存款、取款后,都应显示一下当前余额 (取款余额不足时,会显示当前余额)
4.客户选择退出或者输入错误,程序会退出,否则会一直运行
#定义全局变量
money = 5000000 #银行卡余额
name = None
#定义客户姓名
name = input("欢迎来到ATM简易取款机\n请输入您的名字:")
#定义查询函数
def query(show_header): #定义布尔类型,以免下面函数输出-----------查询余额-----------,show_header默认为True
if show_header:
print("-----------查询余额-----------")
print(f"{name},您好,您的余额为{money}元")
#定义存款函数
def save(num):
print("-------------存款-----------")
print(f"{name},您好,您存款{num}元成功")
global money #money在函数内部为全局变量
money=money+num
#调用查询函数
query(False)
#定义取款函数
def get_money(num):
print("-------------取款-----------")
global money # money在函数内部为全局变量
if money<num:
print(f"{name}您好,您的账户余额为{money}元,余额不足,取款失败")
else:
print(f"{name},您好,您取款{num}元成功")
money = money - num
#调用查询参数
query(False)
#定义主菜单函数
def main():
print("-------------主菜单-------------")
print(f"{name},欢迎来到ATM简易取款机。请选择操作:")
print("查询余额\t[输入1]") #通过\t制表符对齐
print("存款\t\t[输入2]")
print("取款\t\t[输入3]")
print("退出\t\t[输入4]")
return input("请输入您的选择:")
#设置无限循环,确保程序不会退出
"while True为一种循环语句,核心思想是如果输入错误,可以继续循环,直至输入正确为止,while True要有结束该循环的break语句,否则会一直循环下去"
while True:
keyboard_input=main()
if keyboard_input=="1":
query(True)
continue #通过continue继续下一次循环,一进来就回到了主菜单
elif keyboard_input=="2":
num=int(input("请输入你要存款的金额:"))
save(num)
continue #通过continue继续下一次循环,一进来就回到了主菜单
elif keyboard_input=="3":
num=int(input("请输入你要取款的金额:"))
get_money(num)
continue #通过continue继续下一次循环,一进来就回到了主菜单
else:
print("退出程序")
break #通过break退出循环