正确更新Python中的变量

正确更新Python中的变量,python,variables,Python,Variables,我从另一个模块调用下面的函数,并试图在代码中移动时更新变量cur。这相当简单。如果属性move等于north,则变量应从1更改为2。然而,这个更新没有发生,我被卡住了。我觉得应该很简单。如何更新此变量 import objects def movement(move): cur = 1 if cur == 1: if move == "north": cur = cur + 1 return "You stand i

我从另一个模块调用下面的函数,并试图在代码中移动时更新变量
cur
。这相当简单。如果属性move等于north,则变量应从
1
更改为
2
。然而,这个更新没有发生,我被卡住了。我觉得应该很简单。如何更新此变量

import objects
def movement(move):
    cur = 1
    if cur == 1:
        if move == "north":
            cur = cur + 1
            return "You stand in front of the white house."

        if move == "south":
            return "To the south there is tall grass as far as the eye can see.  But it is getting dark.  You decide to stay put."

        if move == "east":
            return "Darkness creeps up across the tall grassy feilds in the east.  You decide to stay put."

        if move == "west":
            return "You stand in a dark forest to the west."

    if cur == 2:
        if move == "south":         
            cur = cur - 1
            return "You stand facing a white house in the north.  Grassy feilds surround you and the sun is setting behind a forest in the west. " + objects.Mailbox.obj()

如果您希望更新您的
cur
,则必须将移动设置为类,并将cur设置为成员,如下所示:

导入对象
类别移动类别:
定义初始化(自):
self.cur=1
def移动(自身,移动):
如果self.cur==“北”:
self.cur+=1
return“你站在白宫前面。”
如果移动==“南”:
return“到了南方,视线所及的地方都是高高的草。但是天已经黑了。你决定呆在原地。”
如果移动==“东”:
return“黑暗笼罩着东部高高的草地,你决定留在原地。”
如果移动==“西”:
return“你站在西边一片黑暗的森林里。”
如果self.cur==2:
如果移动==“南”:
self.cur-=1
return“你站在北面面对一座白宫,四周绿草环绕,太阳在西面的一片森林后面落下。”+objects.Mailbox.obj()

这样您的
cur
将被更新,您将能够访问它

您如何知道变量“cur”没有更新?这是一个局部变量,如果您从其他地方调用函数,它不应该可见,因为每次调用函数时,它都会在函数运行结束时被销毁,
cur
再次设置为1。在未发生更新时,您是否希望代码进入第二个if条件(即
如果cur==2:
)?如果没有,请详细说明并澄清你不满意的地方。