Python实现ATM简单功能的示例详解

 更新时间:2022年11月30日 15:14:07   作者:阳862  
这篇文章主要为大家详细介绍了如何利用Python实现ATM的简单功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

一.局部变量、全局变量

1.什么是局部变量

作用范围在函数内部,在函数外部无法使用

2.什么是全局变量

在函数内部和外部均可使用

3.如何将函数内定义的变量声明为全局变量

使用global关键字,global变量

二.global关键字

思考:

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关键字

演示

num = 200
def A():
    print(f"A:{num}")
def B():
    global num
    num = 500
    print(f"B:{num}")
 
A()
B()
print(num)

结果是

三.编写ATM程序

要求

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

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

定义如下的函数:

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

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

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

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

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

详细步骤

1.定义全局变量,输入姓名

#定义全局变量
money = 500000
name = None
 
 
#输入姓名
name = input("请输入您的姓名:")

2.定义查询函数

#定义查询函数
def query(show_header):
    if show_header:
        print("------------查询余额--------------")
    print(f"{name},您好,您所剩余额为{money}")

3.定义存款函数

#定义存款
def saving(num):
    global money
    money+=num
    print("------------存款--------------")
    print(f"{name},您好,您存入{money}成功")
 
    query()

4.定义取款函数

#定义取款
def get_money(num):
    global money
    money -= num
    print("------------取款--------------")
    print(f"{name},您好,您取出{num}成功")
 
    query()

5.定义主菜单

#定义主菜单
def main():
    print("------------主菜单--------------")
    print(f"{name}您好,欢迎来到ATM,请选择操作")
    print("查询余额:输入1")
    print("存款:   输入2")
    print("取款:   输入3")
    print("退出:   输入4")
    return input("请输入您的选择:")

6.设置循环,确保持续中途不退出

#设置循环确保程序中不退出
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判断语句

改进

这样运行结果就是

完整代码

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功能内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python类中super() 的使用解析

    python类中super() 的使用解析

    super() 函数是用于调用父类(超类)的一个方法。这篇文章主要介绍了python类中super() 的使用,需要的朋友可以参考下
    2019-12-12
  • openCV中值滤波和均值滤波的代码实现

    openCV中值滤波和均值滤波的代码实现

    在我们生活中的有很多时候都可以用到滤波,例如美颜的磨皮功能,本文就详细的介绍了openCV中值滤波和均值滤波的代码实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 浅析Python中的绝对导入与相对导入

    浅析Python中的绝对导入与相对导入

    这篇文章主要为大家详细介绍了Python中的绝对导入与相对导入的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-03-03
  • Python 限定函数参数的类型及默认值方式

    Python 限定函数参数的类型及默认值方式

    今天小编就为大家分享一篇Python 限定函数参数的类型及默认值方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python替换文件中的指定行数技巧示例详解

    python替换文件中的指定行数技巧示例详解

    这篇文章主要介绍了python替换文件中的指定行数技巧示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 使用Matlab将矩阵保存到csv和txt文件

    使用Matlab将矩阵保存到csv和txt文件

    这篇文章主要介绍了使用Matlab将矩阵保存到csv和txt文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python中判断对象是否为空的方法

    Python中判断对象是否为空的方法

    在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精准区分,本文将系统梳理Python中“空”的判定逻辑,揭示常见误区,并提供实用解决方案,需要的朋友可以参考下
    2025-04-04
  • python统计多维数组的行数和列数实例

    python统计多维数组的行数和列数实例

    今天小编就为大家分享一篇python统计多维数组的行数和列数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python 常见字符串与函数的用法详解

    python 常见字符串与函数的用法详解

    这篇文章主要介绍了python 常见字符串与函数的用法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • python实现通过pil模块对图片格式进行转换的方法

    python实现通过pil模块对图片格式进行转换的方法

    这篇文章主要介绍了python实现通过pil模块对图片格式进行转换的方法,涉及Python中pil模块的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03

最新评论