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}')
我正在尝试制作一个扑克游戏,它会检查是一对还是三对或四对。
我想知道在哪里插入 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}')