我写了这段代码,当你选择一个蓝莓时,你的蓝莓会留在一个,我不知道为什么。我希望用户获得多个蓝莓,但它似乎停留在一个。
def blueberryfound(blueberries):
print(" .-~~~~-.")
print(" / ( ( ' \ ")
print(" | ( ) ) | ")
print(" \ ) ' } / /")
print(" \,,,,,,,,/")
leaveorpick = input("Enter P to pick or L to leave the blueberry!").lower()
if leaveorpick == "p":
print("")
print("You chose to keep the berry.")
blueberries = blueberries + 1
print("You now have",blueberries,"blueberries.")发布于 2016-06-01 21:43:18
integer变量是不可变的,这意味着
def blueberryfound(val):
val = val + 1
blueberries = 1
blueberryfound(blueberries)不起作用。只有函数内部的val会递增,外部变量blueberries不会改变。相反,您可以这样做
def blueberryfound(val):
return val + 1
blueberries = 1
blueberries = blueberryfound(blueberries)或者,您可以使用面向对象的方法,其中播放器对象具有许多属性,blueberries是其中之一。然后,您的函数可以操作给定播放器实例的所有属性。
class Player(object):
blueberries = 0
def blueberryfound(player):
player.blueberries += 1
player = Player()
blueberryfound(player)https://stackoverflow.com/questions/37570425
复制相似问题