2015-09-30 51 views
0

所以,我有以下問題我需要一個全局變量在函數中進行修改,因此在下一個循環中它可以進一步在我需要的範圍內到全局變量作爲函數中的一個參數,並且未在該函數中修改

def down(turtleN,posx,posy,up): #function that needs to modify the global variables 
    move = random.randint(0,1) 
    if move == 1: #goes down to the left 
     posx += 1 
     posy += 1 
     turtleN.goto(listPos[up][posx][posy]) 

    else: #goes down to the right 
     if posy == 0: #keep it in range of the list 
      posx += 1 
      posy = 0 
      turtleN.goto(listPos[up][posx][posy]) 

     else: 
      posx += 1 
      posy -= 1 
      turtleN.goto(listPos[up][posx][posy]) 
def movimiento(N): 
    global posx1 
    global posy1 
    global peso1 
    posx1 = 0 
    posy1 = 0 
    peso1 = 0 

    for k in range(N): 
     down(turtle1,posx1,posy1,0) 

回答

0

如果你想變量是全球性的,爲什麼你用它們作爲函數的參數?將它們從您的參數中移除,並將其聲明爲global語句的全局變量(如同在其他函數中那樣)。

+0

問題是,這只是功能下降的4種情況之一,所以我不打算做4次基本上相同的事情,所以我想到了這樣的事情,但我想我將不得不做4次以上或者你有其他選擇嗎? –

相關問題