这是我的密码:
def displayInventory ():
print ("Inventory: " + str(inventory))
def enterEcdysis():
global xcash
xcash -= 1
displayInventory()
xcash = 3
inventory = [str(xcash) + ' Cash',]
enterEcdysis()
我正在尝试打印['2 Cash,']
,但运行时仍然显示为3
。我不确定我到底做错了什么。xcash -= 1
不应该从全局变量中去掉一个吗?你知道吗
它正在更新
xcash
。问题是inventory
过时了。在调用enterEcdysis()
之前将其设置为['3 Cash']
,在修改xcash
之后不更新它。你知道吗将print语句更改为直接打印
xcash
,您将看到它工作正常:考虑上面的代码行。 您已经使用xcash的当前值创建并设置了变量inventory,该值在调用enterEcdysis之前为3。 在肠炎中,您将xcash的值减去1,但变量inventory保持不变。 因此,当您稍后显示变量inventory的值时,定义时仍显示inventory的值(当xcash仍等于3时)
如果您如上所述修改displayInventory,您将看到xcash的值确实发生了更改,但没有更改inventory的值。你知道吗
相关问题 更多 >
编程相关推荐