Как сделать так, чтобы функция deal_card(x) изменила значение x?
Вот первая часть моего кода для симулятора блэкджека, который я делаю. Предполагается, что в программе будет один игрок, играющий с базовой стратегией против дилера. Все работало нормально, пока я не добавил часть "если" функции deal_card(x).
Итак, если я запускаю deal_card(phand), то к набору phand будет добавлена карта. Однако часть оператора if вообще не повлияет на phand. Я пытаюсь понять, как первая часть функции deal_card(x) повлияет на то, что такое x, но последняя часть (if) не меняет его.
number_of_decks = 6 standard_deck = sorted(4*[2,3,4,5,6,7,8,9,10,10,10,10,11]) shoe = sorted(number_of_decks*standard_deck) removed=[] results=[] from random import randint dhand=[] phand=[] def deal_card(x): card=shoe[randint(0,4*13*6-1-len(removed))] shoe.remove(card) removed.append(card) x.append(card) if sum(x)>21 and sorted(x)[len(x)-1]==11: x=sorted(x) x[len(x)-1]=1 return x
Это так расстраивает, что я теряю рассудок. Так что я был бы очень благодарен за любую помощь.
Спасибо.
Что я уже пробовал:
Я попытался найти ответ в Гугле, но, похоже, никто на самом деле не испытывает той же проблемы, что и я.