目录
1.什么是局部变量
作用范围在函数内部,在函数外部无法使用
2.什么是全局变量
在函数内部和外部均可使用
3.如何将函数内定义的变量声明为全局变量
使用global关键字,global变量
思考:
testB函数需要修改变量num的值为200,如何修改程序?
这时我们就需要把局部变量转变为全局变量,利用global关键字
- 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.定义全局变量,输入姓名
2.定义查询函数
3.定义存款函数
4.定义取款函数
5.定义主菜单
6.设置循环,确保持续中途不退出
运行结果
但我们进行存款或者取款的时候,会调用查询余额函数,在查询余额函数中会输出这个:
但是,我只想这一print只在单独调用查询余额函数时才出现,为实现这一目标那就需要就一个if判断语句
这样运行结果就是
- 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