Python 返回函数似乎不起作用
我正在尝试用Python制作一个21点游戏,我为每个选项制作了一个单独的函数来点击停留等等。。。当我调用每个函数时,我会将玩家手上的总数传递给它:Python 返回函数似乎不起作用,python,return-value,Python,Return Value,我正在尝试用Python制作一个21点游戏,我为每个选项制作了一个单独的函数来点击停留等等。。。当我调用每个函数时,我会将玩家手上的总数传递给它: def hit(PlayerHand): PlayerCard3 = random.randint(2,10) print("You got %s" %PlayerCard3) PlayerHand = PlayerHand+PlayerCard3 return(PlayerHand) 然后我在函数外打印玩家的
def hit(PlayerHand):
PlayerCard3 = random.randint(2,10)
print("You got %s" %PlayerCard3)
PlayerHand = PlayerHand+PlayerCard3
return(PlayerHand)
然后我在函数外打印玩家的总手数,但它返回PlayerHand的先前值,而不是新值。我不知道该怎么办。请确保您正在保存新值:
print("New value is: {}".format(hit(PlayerHand)))
或
调用这个函数的代码是什么样子的?你的代码对我来说很有用-我打赌你正在这样做:PH=5;hit(PH);打印PH,而不是PH=hit(PH)如果
PlayerHand
指的是int
(对不起,我不知道21点),那么你应该记住int
s是不可变的-你不能改变它们。因此,当您执行PlayerHand=PlayerHand+PlayerCard3
操作时,您正在创建一个新的int
对象,而不是更改现有对象。
PlayerHand=hit(PlayerHand)
print(PlayerHand)