Я написал эту функцию, чтобы "выиграть" руки для игры в блэкджек Python (я знаю, что тузы могут быть 1 или 11, это будущая проблема, которую нужно выяснить). Входные данные представляют собой список кортежей (карт), и ранг может быть 2-10 или A, J, K или Q.
Иногда я получаю ошибку TypeError, которая читает TypeError: unsupported operand type(s) for +: 'int' and 'str'
в качестве ссылки до score = score + rank
. Я не уверен, почему есть проблема, потому что, если он достигнет этой точки, ранг должен быть int. Кто-нибудь видит проблему?
def analyzeHand(hand):
score = 0
for card in hand:
rank = card[0]
if (rank == 'A'):
score = score + 11
if (rank == 'K' or rank == 'Q' or rank == 'J'):
score = score + 10
else:
score = score + rank
return score