[英]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.