设计一副牌,并安排好牌序(大小王,花色按照黑桃,红桃,梅花,方片)
import numpy as np
#设一副牌
suits = ['唯一','黑桃', '红桃', '梅花', '方片']
ranks = [ '大王','小王','2','A', 'K','Q', 'J', '10', '9', '8','7', '6', '5','4', '3']
paizu = [(rank, suit) for suit in suits for rank in ranks]
del paizu[2:17]
del paizu[15:17]
del paizu[28:30]
del paizu[41:43]
print(paizu)#检验设计的牌组
洗牌和发牌
#洗牌
np.random.shuffle(paizu)
#再洗一次
np.random.shuffle(paizu)
#发牌
player1_cards = paizu[:17]
player2_cards = paizu[17:34]
player3_cards = paizu[34:51]
bottom_cards = paizu[51:]
排序和发牌
#手牌排序
player1_cards.sort(key=lambda x: (ranks.index(x[0]), suits.index(x[1]) ) )
player2_cards.sort(key=lambda x: (ranks.index(x[0]), suits.index(x[1]) ) )
player3_cards.sort(key=lambda x: (ranks.index(x[0]), suits.index(x[1]) ) )
bottom_cards.sort(key=lambda x: (ranks.index(x[0]), suits.index(x[1]) ) )
#显示每个人的牌
print("\n玩家一的手牌:")
for card in player1_cards:
print(f"{card[1]} of {card[0]}")
print("\n玩家二的手牌:")
for card in player2_cards:
print(f"{card[1]} of {card[0]}")
print("\n玩家3的手牌:")
for card in player3_cards:
print(f"{card[1]} of {card[0]}")
print("\n底牌:")
for card in bottom_cards:
print(f"{card[1]} of {card[0]}")
完整版:
import numpy as np
#设一副牌
suits = ['唯一','黑桃', '红桃', '梅花', '方片']
ranks = [ '大王','小王','2','A', 'K','Q', 'J', '10', '9', '8','7', '6', '5','4', '3']
paizu = [(rank, suit) for suit in suits for rank in ranks]
del paizu[2:17]
del paizu[15:17]
del paizu[28:30]
del paizu[41:43]
print(paizu)#检验设计的牌组
#洗牌
np.random.shuffle(paizu)
#再洗一次
np.random.shuffle(paizu)
#发牌
player1_cards = paizu[:17]
player2_cards = paizu[17:34]
player3_cards = paizu[34:51]
bottom_cards = paizu[51:]
#手牌排序
player1_cards.sort(key=lambda x: (ranks.index(x[0]), suits.index(x[1]) ) )
player2_cards.sort(key=lambda x: (ranks.index(x[0]), suits.index(x[1]) ) )
player3_cards.sort(key=lambda x: (ranks.index(x[0]), suits.index(x[1]) ) )
bottom_cards.sort(key=lambda x: (ranks.index(x[0]), suits.index(x[1]) ) )
#显示每个人的牌
print("\n玩家一的手牌:")
for card in player1_cards:
print(f"{card[1]} of {card[0]}")
print("\n玩家二的手牌:")
for card in player2_cards:
print(f"{card[1]} of {card[0]}")
print("\n玩家3的手牌:")
for card in player3_cards:
print(f"{card[1]} of {card[0]}")
print("\n底牌:")
for card in bottom_cards:
print(f"{card[1]} of {card[0]}")