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

时间:2013-08-07 22:22:01

标签: 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
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金币。

我试过金+ 200,金+ = 200,金= + 200,但只有最后一个工作。

我也试过

print 'You have now' + gold + 'gold'

但由于某种原因,这不起作用。我也试过

print 'You have now' + (gold) + 'gold'

我不太确定这里有什么问题,我很感激能得到的所有帮助!

非常感谢。

修改

我忘了添加我问题的很大一部分。对不起,我很抱歉!

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

在商店里,我会以不同的价格出售多件商品。并非所有项目都会在游戏开始时提供。 因此,我想要一个项目来检查用户拥有多少金币。如果用户拥有x gold,则他无法购买该项目。

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

1 个答案:

答案 0 :(得分:2)

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

其次,似乎gold是每个函数本地的变量,即在gold中将level1()分配给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