я пытался получить сумму списка, который изменил свои значения из строки в целое, используя функциюВНУТР объект не Iterable
player_hand = []
def card_type(player_hand):
card_value = 0
if player_hand[0] == 'A':
card_value = 11
if player_hand[0] == 'J':
card_value = 10
if player_hand[0] == 'Q':
card_value = 10
if player_hand[0] == 'K':
card_value = 10
if player_hand[0] == '2':
card_value = 2
if player_hand[0] == '3':
card_value = 3
if player_hand[0] == '4':
card_value = 4
if player_hand[0] == '5':
card_value = 5
if player_hand[0] == '6':
card_value = 6
if player_hand[0] == '7':
card_value = 7
if player_hand[0] == '8':
card_value = 8
if player_hand[0] == '9':
card_value = 9
if player_hand[0] == '1':
card_value = 10
def player_hit(card_deck):
rando = random.randint(0,len(card_deck)-1)
player_hand.append(card_deck[rando])
card_deck.remove(card_deck[rando])
, а затем попытаться найти сумму списка игроков используя
card_total = 0
print('Player was handed:')
for i in range(2):
print(player_hit(card_deck))
for i in len(player_hand)-1:
print('\n',sum(card_type(player_hand[i])))
однако я получаю сообщение об ошибке
for i in len(player_hand)-1:
TypeError: 'int' object is not iterable
я не понимаю, что проблема в том, что ив взял Валу es и преобразовали их в int уже, а также проверили диапазон индекса списка. Пожалуйста, помогите
Это правильно диагностирует ошибку. Тем не менее, вопросник должен отметить, что функция 'card_type' ожидает последовательность символов (« рука »), а не один символ, который вы передаете. Это будет действительно работать, поскольку даже одна символьная строка является типом последовательности, но это говорит о том, что дизайн немного испорчен (вероятно, «card_type» должен ожидать одну карту в качестве своего аргумента и пропустить индексирование «[0]») , Кроме того, 'player_hit' возвращает' None' (поскольку нет операторов 'return'), но вы печатаете результат. – Blckknght
@Blckknght, вы правы, может быть, вам стоит написать ответ. – VHarisop