0
Я пытаюсь сделать игру в блэкджек на Python, и я сделал отдельную функцию для каждой опции, чтобы нажать кнопку пребывания и т. Д. Когда я вызываю каждую функцию, я передаю ей общую руку игроков до сих пор: Функция возврата, похоже, не работает
def hit(PlayerHand):
PlayerCard3 = random.randint(2,10)
print("You got %s" %PlayerCard3)
PlayerHand = PlayerHand+PlayerCard3
return(PlayerHand)
а потом я печатаю игрокам полную руку за пределами функции, но он возвращает предыдущее значение PlayerHand, а не новое значение. Я не уверен, что делать.
Что делает код, который вызывает эту функцию выглядеть? – dpassage
ваш код работает для меня - держу пари, вы делаете это: PH = 5; удар (PH); напечатайте PH, вместо PH = hit (PH) – Colin
Если 'PlayerHand' ссылается на' int' (извините, но я не знаю Blackjack), вы должны помнить, что 'int' неизменяемы - вы не можете их изменять. Поэтому, когда вы делаете «PlayerHand = PlayerHand + PlayerCard3», вы создаете новый объект 'int', не изменяя существующий. – cdarke