Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何修复:除一个函数外,所有函数中都在更新全局变量_Python_Global Variables - Fatal编程技术网

Python 如何修复:除一个函数外,所有函数中都在更新全局变量

Python 如何修复:除一个函数外,所有函数中都在更新全局变量,python,global-variables,Python,Global Variables,创建一个小型、简单的类似ATM的软件。我已经为各种操作提供了函数。但是,在输出中,我的全局变量“balance”没有被更新。下面是相关的代码片段 经过一些测试后,我意识到该值在函数中被理解为是变化的,因为当我存入一个值时,我能够提取大于初始余额的值。这意味着至少函数的变量正在更新 全局菜单 余额=浮动(输入(“请输入当前余额:”) menu=“当前余额为:{}\n按1退出\n按2存款\n按3退出”。格式化(余额) def display(): 全球选择 全球平衡 打印(菜单) 选择=输入(“请选

创建一个小型、简单的类似ATM的软件。我已经为各种操作提供了函数。但是,在输出中,我的全局变量“balance”没有被更新。下面是相关的代码片段

经过一些测试后,我意识到该值在函数中被理解为是变化的,因为当我存入一个值时,我能够提取大于初始余额的值。这意味着至少函数的变量正在更新

全局菜单
余额=浮动(输入(“请输入当前余额:”)
menu=“当前余额为:{}\n按1退出\n按2存款\n按3退出”。格式化(余额)
def display():
全球选择
全球平衡
打印(菜单)
选择=输入(“请选择一个数字:”)
返回余额
def存款():
全球平衡
全球选择
金额=浮动(输入(“请输入您想存入的金额:”)
余额+=金额
返回“您当前的余额为{}”。格式(余额)
def draw():
全球平衡
全球选择
金额=浮动(输入(“请输入您要提取的金额:”)
如果金额>余额:
打印(“对不起,您的余额小于您要提取的金额。”)
其他:
结余-=金额
返回“您当前的余额为{}”。格式(余额)
完成时==False:
显示()
全球选择
如果选项==“1”:
撤回
elif choice==“2”:
存款()
elif选项==“3”:
完成=正确
打印(“感谢您使用我们的服务。”)
其他:
打印(“您输入的号码无效,请重试”)

因此,除了平衡值之外,所有输出都是规则的。

当您在代码顶部定义变量菜单时,您使用初始平衡来定义它。当您在存款或取款后打印菜单时,显示例程仍在打印用初始余额定义的菜单


您可能正在处理一个任务,您应该使用全局变量,但这似乎不是一个很好的用例。取款函数返回一个字符串,说明当前余额,但您不使用它。您可以使用
balance=draw(balance)
轻松调用drawr函数,并将余额视为参数和返回。无论如何,继续努力,继续学习

谢谢@mermaldad,不,没有任何使用全局变量的要求,我只是想测试一下我对它们的理解,因为它们对我来说是新的。我想我会用更有效的方法重新编写程序。