正确更新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:
)?如果没有,请详细说明并澄清你不满意的地方。