Изменение игры с карточным дилером, чтобы показать победителя на Python

#python #list #function

#питон #Список #функция

Вопрос:

Прямо сейчас мне нужно изменить файл, чтобы 4 игрока получили по 5 карт в карточной игре. Я это сделал, но он также просит меня определить, какая рука стоит больше всего, и сказать, кто победил. Эта вторая часть-то, с чем я сейчас борюсь, поскольку я могу определить, какой самый высокий балл, но я не знаю, как изменить свою функцию, чтобы она могла определить победителя. До сих пор это мой код.

 import random  def main():  deck = create_deck()   num_cards = 5  winner=[]  for i in range(4):  print('Cards remaining: ',len(deck))  print('tHand',i 1)  score = deal_cards(deck, num_cards)  print('Value of this hand:', score)  winner.append(score)  winner.sort()  print(winner[-1])    def create_deck():  deck = {'Ace of Spades':1, '2 of Spades':2, '3 of Spades':3,  '4 of Spades':4, '5 of Spades':5, '6 of Spades':6,  '7 of Spades':7, '8 of Spades':8, '9 of Spades':9,  '10 of Spades':10, 'Jack of Spades':10,  'Queen of Spades':10, 'King of Spades': 10,    'Ace of Hearts':1, '2 of Hearts':2, '3 of Hearts':3,  '4 of Hearts':4, '5 of Hearts':5, '6 of Hearts':6,  '7 of Hearts':7, '8 of Hearts':8, '9 of Hearts':9,  '10 of Hearts':10, 'Jack of Hearts':10,  'Queen of Hearts':10, 'King of Hearts': 10,    'Ace of Clubs':1, '2 of Clubs':2, '3 of Clubs':3,  '4 of Clubs':4, '5 of Clubs':5, '6 of Clubs':6,  '7 of Clubs':7, '8 of Clubs':8, '9 of Clubs':9,  '10 of Clubs':10, 'Jack of Clubs':10,  'Queen of Clubs':10, 'King of Clubs': 10,    'Ace of Diamonds':1, '2 of Diamonds':2, '3 of Diamonds':3,  '4 of Diamonds':4, '5 of Diamonds':5, '6 of Diamonds':6,  '7 of Diamonds':7, '8 of Diamonds':8, '9 of Diamonds':9,  '10 of Diamonds':10, 'Jack of Diamonds':10,  'Queen of Diamonds':10, 'King of Diamonds': 10}    return deck   def deal_cards(deck, number):  hand_value = 0  if number gt; len(deck):  number = len(deck)   temp_deck=list(deck.items())  for count in range(number):  card_to_pop=random.randint(0,len(temp_deck)-1)  card, value = temp_deck[card_to_pop]  del temp_deck[card_to_pop]  deck.pop(card,'Not found')  print(card)  hand_value  = value   return hand_value    main()  

Комментарии:

1. Как вы набираете очки в этой игре?

2. Это больше похоже на игру в один раунд. Поэтому, если вы запустите программу, она будет повторяться 4 раза при случайном выборе карт. Каждый раз, когда он зацикливается, он вычисляет стоимость карт каждой руки. Победителем становится тот, кто наберет наибольшее количество очков.