Просто хедз-ап: Я довольно новый для Python Во всяком случае, это то, как я настраивал свою колоду:Проблемы создания 2 карты руки из колоды 52 карты для блэкджек ~ для Python
#THIS IS THE DECK ITSELF
signs = ["spade","hearts","club","diamond"]
num=['A','2','3','4','5','6','7','8','9','10','J','Q','K']
deck = [(j,i) for j in num for i in signs]
#Step 1. creates 2 random 2-card hands (you and dealer)
#and shows you your hand and only one card of dealer's hand
import random
def create_hands(deck):
random.shuffle(deck)
print ("You got:")
print (deck[0][0], "of", deck[0][1])
print (deck[1][0], "of", deck[1][1])
print ("Dealer has:")
print (deck[2][0], "of", deck[2][1])
print ("unknown")
player_hand = (deck[0]+deck[1])
return player_hand
После этого, я бы ввести:
create_hands(deck)
и это будет случайный выход, который отличается каждый раз, когда из-за перетасовать функции (есть также оператор печати, но я не включил его):
('10', 'diamond', '2', 'diamond')
Теперь это в основном то, что список player_hand есть, но когда я затем приступить поставить в этом проверить:
player_hand
выводит:
('4', 'club', 'J', 'spade')
Я смущен, потому что не должен» t player_hand возвращает то же значение, что и функция create_hands, предполагая, что я только запускал create_hands (колода) один раз?
Как вы предлагаете мне решить эту проблему? так что player_hand равен тому, что возвращается из create_hands? –
Да, вы заботитесь только о том, что возвращает функция, поскольку то, что будет внутри функции, может отличаться в следующий раз, поэтому просто игнорируйте ее. – dmitryro