Python вероятность пары - PullRequest
       23

Python вероятность пары

0 голосов
/ 25 сентября 2019

Я пытаюсь создать покерную игру, в которой она проверила бы, является ли она парой или тройкой или четырьмя.

Я пытаюсь выяснить, куда вставить петлю while.если я должен поставить его перед оператором for card in set(cards): или for i in range(5):

, я хочу продолжать печатать 5 карточек, пока не будет отображена либо пара, либо 3 типа, либо 4 типа.

Тогда я хочу напечатать вероятность печати одного из этих параметров

import random
def poker():
    cards = []
    count = 0
    for i in range(5):
        cards.append(random.choice([1,2,3,4,5,6,7,8,9,10,11,12,13]))
        print(cards)
    for card in set(cards):
        number = cards.count(card) # Returns how many of this card is in your hand
        print(f"{number} x {card}")
        if(number == 2):
            print("One Pair")
            break
        if(number == 3):
            print("Three of a kind")
            break
        if(number == 4):
            print("Four of a kind")
            break

1 Ответ

1 голос
/ 25 сентября 2019

Вы должны положить while над картами, но вывести count за пределы этого цикла, чтобы вы могли поддерживать его.Вы делаете это, потому что вам нужно каждый раз повторять весь процесс создания / выбора карты, пока не будет выполнено условие, которое вы ищете.

import random
def poker():
    count = 0
    while True:
        cards = []
        for i in range(5):
            cards.append(random.choice([1,2,3,4,5,6,7,8,9,10,11,12,13]))
            print(cards)
        stop = False
        for card in cards:
            number = cards.count(card) # Returns how many of this card is in your hand
            print(f"{number} x {card}")
            if(number == 4):
                print("Four of a kind")
                stop = True
                break
            elif(number == 3):
                print("Three of a kind")
                stop = True
                break
            elif(number == 2):
                print("One Pair")
                stop = True
                break
        if stop:
            break
        else:
            count += 1
    print(f'Count is {count}')
...