[英]How to define a global variable before a function, then refer to it within the function in python?
我只是熟悉图灵机。 我正在制造一个半准确的虚拟图灵机,但是遇到了一个看似简单的问题,我知道有解决方案。 我在网上进行了调查,但找不到任何可以满足我的问题的东西。
我如何使变量“ l”在函数中可调用。 它必须是可调用的,因为如果我在函数内定义变量的初始值,则在函数循环时它将值重置为0。
这是我的代码:
blanktape = []
for x in range(1,251):
x = ' '
blanktape.append(x)
global l
l = 1
non = ' '
head = blanktape[l]
symbols = [3, 'ee', 'x']
def mconfigb():
if head == non:
blanktape[blanktape.index(head)] = 0
l = l + 2
def mconfigc():
if head == non:
blanktape[blanktape.index(head)] = 1
l = l + 2
def turingmachine():
while l < len(blanktape) + 1:
mconfigb()
mconfigc()
return blanktape
print turingmachine()
def function(input):
global globvar
....
必须按功能声明它们。 但是,我认为您应该将所有创建内容包装到turingmachine类中,并使用实例变量。
您需要输入:
global l
在函数本身中(并且您可能想重新考虑变量命名约定, l
不是一个好名字)。
例如:
xyzzy = 1
def fn():
global xyzzy
xyzzy = xyzzy + 1
def mconfigb():
global l
其他功能也可以这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.