チューリングマシンに慣れてきました。私は半正確な仮想チューリングマシンを作成中ですが、解決策があることを知っている一見単純な問題に遭遇しました。オンラインで調査しましたが、私の問題を満たすものは見つかりませんでした。
関数内で変数 '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()