Python 返回函数似乎不起作用

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) 然后我在函数外打印玩家的

我正在尝试用Python制作一个21点游戏,我为每个选项制作了一个单独的函数来点击停留等等。。。当我调用每个函数时,我会将玩家手上的总数传递给它:​​​

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)