Python 一对的概率

Python probability of a pair

我正在尝试制作一个扑克游戏,它会检查是一对还是三对或四对。

我想知道在哪里插入 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

你应该把 while 放在卡片上面,但是把 count 放在那个循环之外,这样你就可以维护它。您这样做是因为您需要每次都重复整个卡片 creation/selection 过程,直到满足您要查找的条件。

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}')