1.什么是局部变量
作用范围在函数内部,在函数外部无法使用
2.什么是全局变量
在函数内部和外部均可使用
3.如何将函数内定义的变量声明为全局变量
使用global关键字,global变量
思考:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
num=100
def testsA()
print(num)
def testB()
num=200
print(num)
testA() #结果:100
testB() #结果:200
print(f'全局变量num={num}') #结果:全局变量num=100
|
testB函数需要修改变量num的值为200,如何修改程序?
这时我们就需要把局部变量转变为全局变量,利用global关键字
演示
|
1
2
3
4
5
6
7
8
9
10
11
|
num = 200
def A():
print(f"A:{num}")
def B():
global num
num = 500
print(f"B:{num}")
A()
B()
print(num)
|
结果是

定义一个全局变量: money,用来记录银行卡余额(默认5000000)
定义一个全局变量: name,用来记录客户姓名(启动程序时输入)
定义如下的函数:
程序启动后要求输入客户姓名
查询余额、存款,取款后都会返回主菜单
存款、取款后,都应显示一下当前余额
客户选择退出或输入错误,程序会退出,否则一直运行
1.定义全局变量,输入姓名
|
1
2
3
4
5
6
7
|
#定义全局变量
money = 500000
name = None
#输入姓名
name = input("请输入您的姓名:")
|
2.定义查询函数
|
1
2
3
4
5
|
#定义查询函数
def query(show_header):
if show_header:
print("------------查询余额--------------")
print(f"{name},您好,您所剩余额为{money}")
|
3.定义存款函数
|
1
2
3
4
5
6
7
8
|
#定义存款
def saving(num):
global money
money+=num
print("------------存款--------------")
print(f"{name},您好,您存入{money}成功")
query()
|
4.定义取款函数
|
1
2
3
4
5
6
7
8
|
#定义取款
def get_money(num):
global money
money -= num
print("------------取款--------------")
print(f"{name},您好,您取出{num}成功")
query()
|
5.定义主菜单
|
1
2
3
4
5
6
7
8
9
|
#定义主菜单
def main():
print("------------主菜单--------------")
print(f"{name}您好,欢迎来到ATM,请选择操作")
print("查询余额:输入1")
print("存款: 输入2")
print("取款: 输入3")
print("退出: 输入4")
return input("请输入您的选择:")
|
6.设置循环,确保持续中途不退出
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#设置循环确保程序中不退出
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("您想取出多少钱:"))
get_money(num)
continue
else:
print("程序退出了!")
break
|
运行结果

但我们进行存款或者取款的时候,会调用查询余额函数,在查询余额函数中会输出这个:

但是,我只想这一print只在单独调用查询余额函数时才出现,为实现这一目标那就需要就一个if判断语句


这样运行结果就是

|
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
|
money = 500000
name = None
#输入姓名
name = input("请输入您的姓名:")
#定义查询函数
def query(show_header):
if show_header:
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},您好,您取出{num}成功")
query(False)
#定义主菜单
def main():
print("------------主菜单--------------")
print(f"{name}您好,欢迎来到ATM,请选择操作")
print("查询余额:输入1")
print("存款: 输入2")
print("取款: 输入3")
print("退出: 输入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("您想取出多少钱:"))
get_money(num)
continue
else:
print("程序退出了!")
break
|
到此这篇关于Python实现ATM简单功能的示例详解的文章就介绍到这了,更多相关Python ATM功能内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks 等。