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

定义一个全局变量: money,用来记录银行卡余额(默认5000000)
定义一个全局变量: name,用来记录客户姓名(启动程序时输入)
定义如下的函数:
程序启动后要求输入客户姓名
查询余额、存款,取款后都会返回主菜单
存款、取款后,都应显示一下当前余额
客户选择退出或输入错误,程序会退出,否则一直运行
1.定义全局变量,输入姓名
| 1 2 3 4 5 6 7 | #定义全局变量money =500000name =None  #输入姓名name =input("请输入您的姓名:") | 
2.定义查询函数
| 1 2 3 4 5 | #定义查询函数defquery(show_header):    ifshow_header:        print("------------查询余额--------------")    print(f"{name},您好,您所剩余额为{money}") | 
3.定义存款函数
| 1 2 3 4 5 6 7 8 | #定义存款defsaving(num):    globalmoney    money+=num    print("------------存款--------------")    print(f"{name},您好,您存入{money}成功")     query() | 
4.定义取款函数
| 1 2 3 4 5 6 7 8 | #定义取款defget_money(num):    globalmoney    money -=num    print("------------取款--------------")    print(f"{name},您好,您取出{num}成功")     query() | 
5.定义主菜单
| 1 2 3 4 5 6 7 8 9 | #定义主菜单defmain():    print("------------主菜单--------------")    print(f"{name}您好,欢迎来到ATM,请选择操作")    print("查询余额:输入1")    print("存款:   输入2")    print("取款:   输入3")    print("退出:   输入4")    returninput("请输入您的选择:") | 
6.设置循环,确保持续中途不退出
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #设置循环确保程序中不退出whileTrue:    keyboard_input =main()    ifkeyboard_input=="1":        query(True)        continue    elifkeyboard_input=="2":        num =int(input("您想存入多少钱:"))        saving(num)        continue    elifkeyboard_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 =500000name =None  #输入姓名name =input("请输入您的姓名:") #定义查询函数defquery(show_header):    ifshow_header:        print("------------查询余额--------------")    print(f"{name},您好,您所剩余额为{money}") #定义存款defsaving(num):    globalmoney    money+=num    print("------------存款--------------")    print(f"{name},您好,您存入{money}成功")     query(False) #定义取款defget_money(num):    globalmoney    money -=num    print("------------取款--------------")    print(f"{name},您好,您取出{num}成功")     query(False) #定义主菜单defmain():    print("------------主菜单--------------")    print(f"{name}您好,欢迎来到ATM,请选择操作")    print("查询余额:输入1")    print("存款:   输入2")    print("取款:   输入3")    print("退出:   输入4")    returninput("请输入您的选择:")#设置循环确保程序中不退出whileTrue:    keyboard_input =main()    ifkeyboard_input=="1":        query(True)        continue    elifkeyboard_input=="2":        num =int(input("您想存入多少钱:"))        saving(num)        continue    elifkeyboard_input=="3":        num =int(input("您想取出多少钱:"))        get_money(num)        continue    else:        print("程序退出了!")        break | 
到此这篇关于Python实现ATM简单功能的示例详解的文章就介绍到这了,更多相关Python ATM功能内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!