簡體   English   中英

如何在函數之前定義全局變量,然后在python中的函數中引用它?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM