Я создал программу игры в покер и начал с функции для создания всей колоды и другой функции для ее перемешивания. Они оба работали просто отлично. Я смог распечатать колоду и перемешал колоду. Но в другой функции ' hand () ' я попытался сделать из нее функцию, которая дает игроку первые две карты, используя словарь переменных deckshuffle из предыдущей колоды перемешанных открытки. Но он показывает ошибку, говорящую о том, что индекс списка находится вне диапазона, поэтому я решил вызвать словарь deckshuffle , чтобы увидеть его значение, и он показал две пустые фигурные скобки вместо целого словаря, полного перетасованных карт
<ipython-input-57-462bc7e6b87f> in hand()
28 def hand():
29 liste = list(deckshuffle.items())
---> 30 playerhand.update({liste[0][0]:liste[0][1]})
31 playerhand.update({liste[1][0]:liste[1][1]})
32 liste.pop(0)
IndexError: list index out of range
Это мой код -
deckvalues = {}
def cards():
for suit in suits:
for rank in ranks:
deckvalues.update({rank+' of '+suit: values[rank]})
return deckvalues
def shufflecards():
lis = list(deckvalues.items())
random.shuffle(lis)
deckshuffle = dict(lis)
deckshuffle = deckshuffle
return deckshuffle
playerhand = {}
dealerhand = {}
def hand():
liste = list(deckshuffle.items())
playerhand.update({liste[0][0]:liste[0][1]})
playerhand.update({liste[1][0]:liste[1][1]})
liste.pop(0)
liste.pop(0)