我正在尝试制作一种扑克游戏,它将检查它是一对还是三对或四对。
我正在尝试找出在何处插入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
置于该循环之外,以便对其进行维护。这样做是因为您每次都需要重复整个卡的创建/选择过程,直到满足所需条件为止。
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}')