Доступ к значению во вложенном списке и отправка его тоже функцией - PullRequest
0 голосов
/ 21 февраля 2019

Я пишу игру в блэкджек, тоже учу себя питону.Чтобы представить 52 карты в колоде, у меня есть вложенный список в списке, этот список содержит свое первоначальное место в колоде (0-51), его масть и номинал в виде строки.В рамках моей функции я раздаю карты своих игроков и получаю значение колоды (0-51), значение масти и номинал, сохраненные в списке.Я пытаюсь прочитать значение колоды в функцию, которую я создал, чтобы оценить счет руки игрока, однако я получаю ошибку: TypeError: индексы списка должны быть целыми или кусочками, а не списком.Так что я не правильно индексирую, но это, кажется, правильный способ индексации, чтобы достичь первого значения списка в списке, поэтому я в тупике.Не могли бы вы, ребята, помочь мне.

Вот моя функция:

#this function evalutes the game value of a card and adds it to the players score
def card_value(card, value):

   if card%13 == 0 and value<=10:                      #Evaluate value of ace based on the value of the rest
      value +=11                                      # of the deck
   elif card%13 == 0 and value>10:
      value+=1
   elif card%13 == 10 or 11 or 12:                     # evaluate face cards
      value += 10
   else:
      value += card%13 +1                             #Evaluate rest of the cards in the deck

, а вот мой вызов функции:

for _ in player1_hand:                              
     player1_score += card_value(player1_hand[_][0],player1_score)

Спасибо за помощь, ребята.

1 Ответ

0 голосов
/ 04 марта 2019

Исправлена ​​функция цикла for, вызывающая отдельную карту руки игрока.Я индексировал список списков, player1-hand, неправильно.Я исправил вызов индексации, однако функция возвращает неверное значение руки для руки игрока.Я исправлю логику функции и обновлю позже.

for _ in player1_hand:                              #use for loop to evaluate the value using function card_value
#print(_[1])                                    #proper indexing call.
player_card = _[0]
player1_score += card_value(player_card, player1_score)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...