我刚刚熟悉了图灵机。我正在制作一个半精确的虚拟图灵机,但我遇到了一个看似简单的问题,我只知道有一个解决方案。我在网上进行了研究,但找不到任何能满足我的问题的东西。
如何使变量 '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()