黑马ATM综合案例

  • 主菜单效果

主菜单效果

  • 查询余额效果

查询余额效果

  • 存、取款效果

存、取款效果

存、取款效果

  • 定义一个全局变量:money,用来记录银行卡余额(默认5000000)

  • 定义一个全局变量:name,用来记录客户姓名(启动程序时输入)

  • 定义如下的函数:

    • 查询余额函数
    • 存款函数
    • 取款函数
    • 主菜单函数
  • 要求

  • 程序启动后要求输入客户姓名

  • 查询余额、存款、取款后都会返回主菜单

  • 存款、取款后,都应显示一下当前余额

  • 客户选择退出或输入错误,程序会退出,否则一直运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
money = 2000
name = None

name = input("请输入您的姓名:")


# 查询余额函数
def query(show_hender):
if show_hender:
print("--------查询余额--------")
print(f"{name}先生/女士您好,您的余额剩余{money}元")


# 存款函数
def saving(num):
global money
money += num
print("--------存款--------")
print(f"{name}先生/女士,存款{money}成功")
query(False)


# 取款函数
def get_money(num):
global money
money -= num
print("--------取款--------")
print(f"{name}先生/女士,存款{money}成功")
query(False)


# 主菜单函数
def main():
print("--------主菜单--------")
print(f"{name}先生/女士,欢迎来到ATM存取款机")
print("查询余额\t[输入1]")
print("存款\t\t[输入2]")
print("取款\t\t[输入3]")
print("退出\t\t[输入4]")
return input("请输入您的选择:")


while True:
keyboard_input = main()
if keyboard_input == "1":
query(True)
continue
elif keyboard_input == "2":
num = int(input("请输入你要存款的金额:"))
saving(num)
continue
elif keyboard_input == "3":
num = int(input("请输入你要取款的金额:"))
if num <= money:
get_money(num)
else:
print("您的余额不足")
continue
else:
print("程序结束")
break