import random
import itertools
suit = 'CSHD'
rank = '23456789TJQKA'
deck_of_cards = [''.join(card) for card in itertools.product(rank, suit)]
def draw_card(deck,hand, count):
for i in range(count):
hand.append(deck.pop())
def hand_selection(deck):
shuffled_deck = random.sample(deck, len(deck))
dealer_hand = []
player_hand = []
draw_card(shuffled_deck, dealer_hand, 1)
draw_card(shuffled_deck, player_hand, 1)
draw_card(shuffled_deck, dealer_hand, 1)
draw_card(shuffled_deck, player_hand, 1)
return dealer_hand,player_hand
Попытка следовать принципу работы карты здесь. Сначала я хотел создать карту случайным образом, удалить ее из shuffled_deck
, но мы не занимаемся карточками, случайно пробираясь через колоду, не так ли? Для моей цели код делает то, что он должен делать, но он не выглядит слишком хорошим. (Да, shuffled_deck
, player_hand
и dealer_hand
все Глобалы на самом деле, но это не имеет значения на данный момент.)Палуба карт, занимающаяся поочередно
Что бы более элегантно (читай: вещий) решение сдавать карты таким образом? Например, мы играли что-то вроде китайского покера между, скажем, тремя игроками. Делать один за другим, как это кажется слишком утомительным.
Заставляет меня задаться вопросом, почему они не будут касаться классов непосредственно в нашем курсе программирования :( –
Некоторые люди находят их очень сложными, но это делает жизнь намного сложнее сделать что-то вроде карт без них. – jonrsharpe