Как получить вторую половину списка из словаря - PullRequest
0 голосов
/ 02 марта 2019
import random
cards = {"Ace" : (1, 11), "numberedCard" : random.randint(2, 10), "Jack" : 11, "Queen" : 12, "King" : 13}
playerDeck = [random.choice(list(cards.keys())), random.choice(list(cards.keys()))]
print("You have been dealt a", playerDeck[0], "and a", playerDeck[1])
total = playerDeck[0] + playerDeck[1]
print("Your total is:", total)

так, как я могу получить числа, обозначенные для туза, короля, королевы, джека для общего решения

1 Ответ

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

Существует множество способов заставить игру работать.Это базовый вариант (без начальных чисел).

Я бы предложил использовать унифицированный словарь вместо набора кортежей, функций и целых чисел.

Например, сопоставить картык их значениям (туз до 1, затем управляйте значением 11 как особым случаем или наоборот):

cards_values = { 'Ace' : 1, 'Two' : 2, 'Three' : 3, 'Four' : 4, 'Five' : 5, 'Six' : 6, 'Seven' : 7, 'Eight' : 8, 'Nine' : 9, 'Ten' : 10, 'Jack' : 10, 'Queen' : 10, 'King' : 10 }

Затем, когда вы выбираете карту из колоды (не говоря уже о семенах), вы должны учитывать избегайте брать карту дважды .Одним из вариантов является определение списка доступных карт, затем shuffle колода и pop карта.После того, как вы сложите карту, добавьте ее в колоду игрока.

Например:

deck = list(cards_values.keys())
player_deck = []

n = 3 # or whatever cards you like
print("You have been dealt a:")

for _ in range(n):
  random.shuffle(deck)
  card = deck.pop()
  player_deck.append(card)
  print(card)

Если вы распечатаете колоды, вы увидите, что deckотсутствует карта n в player_deck:

print (deck) #=> ['Queen', 'Jack', 'Ten', 'Three', 'King', 'Two', 'Four', 'Nine', 'Five', 'Seven']
print (player_deck) #=> ['Six', 'Ace', 'Eight']

Получите счет , сопоставляющий player_deck с cards_values (я не учел возможное значение11 для туза):

sum([ cards_values[card] for card in player_deck ])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...