Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的变量:添加和更改变量_Python_Variables - Fatal编程技术网

Python中的变量:添加和更改变量

Python中的变量:添加和更改变量,python,variables,Python,Variables,我目前正在用Python制作一个游戏,现在我想添加一个商店 我想用一个变量来做这个。我知道如何添加变量,如何更改变量,但不知道如何增加或减少变量 实际上,我以前从未使用过变量。我读过,但记不太清楚 def level1(): os.system('cls') gold = 500 print print 'You have currently', print (gold), print 'gold' time.sleep(3) level2() def level2(): print prin

我目前正在用Python制作一个游戏,现在我想添加一个商店

我想用一个变量来做这个。我知道如何添加变量,如何更改变量,但不知道如何增加或减少变量

实际上,我以前从未使用过变量。我读过,但记不太清楚

def level1():
os.system('cls')
gold = 500
print
print 'You have currently',
print (gold),
print 'gold'
time.sleep(3)
level2()

def level2():
print
print 'Congratulation! You completed the quest! You received 200 gold.'
time.sleep(2)
gold =+ 200
print 'You have now',
print (gold),
print 'gold.'
time.sleep(5)
结果是:

您目前拥有500枚金牌

祝贺你!你完成了任务!你收到了200金。 您现在拥有200枚金牌。

我尝试了gold+200、gold+=200和gold=+200,但只有最后一个有效

我也试过了

print 'You have now' + gold + 'gold'
但出于某种原因,这不起作用。我也试过了

print 'You have now' + (gold) + 'gold'
我不太确定这里出了什么问题,我将感谢所有能得到的帮助

多谢各位

编辑:

我忘了在我的问题中加一大部分。我很抱歉

==================================================================================

在商店里,我会以不同的价格出售多种商品。并非所有的物品在游戏开始时都可用。 因此,我想要一个项目来检查用户有多少黄金。如果用户的黄金低于x,他就不能购买该物品


如果等级达到04级,该特定物品将被解锁。

它应该是
gold+=200
,而不是
gold=+200

其次,似乎
gold
是每个函数的一个局部变量,即在
level1()中将
gold
赋值为500不会将其设置为
level2
中的值。您需要将其作为参数传入,或者将其作为全局变量

要作为参数传递,请执行以下操作:

def level1(gold) :
  # do your stuff here
  level2(gold)

def level2(gold) :
  # do your stuff here

# entry point of your application
if __name__ == "__main__" :
  # initialize `gold` here
  gold = 500
  level1(gold)
要使用全局实例,请执行以下操作:

# global variable 
gold = 500

def level1() :
  # specify that you want to use the global instance of gold
  global gold
  # do your stuff here

def level2() :
  global gold
  # do your stuff here

gold+=200
是正确的语法。您可能在其他地方出错。你能纠正你的缩进吗?这两个功能是完全独立的吗?
gold=+200
只需将
gold
设置为
+200
,或
200
。非常感谢!我不太理解if ___; name __;,所以我只使用了全局实例。非常感谢你。正如你所看到的,我忘了补充我问题的一个重要部分。请你也看一下好吗?:)@Stightl请在单独的堆栈溢出问题中提出其他问题。(您应该删除此问题中已编辑的添加内容。)