刷B站看到一个视频
三个人斗地主做了一个机械化的发牌装置
只用手动洗牌即可
我就来了灵感
也是看到有其他大佬的代码
部分搬运
发牌
import random
player_one = []
player_two = []
player_three = [] # 三个用户
under_card = [] # 底牌
card = [] # 新牌
for i in range(1, 14):
if i == 1:
i = "A"
elif i == 11:
i = "J"
elif i == 12:
i = "Q"
elif i == 13:
i = "K"
card.append(str(i) + "♠")
card.append(str(i) + "♣")
card.append(str(i) + "♦")
card.append(str(i) + "♥") # 生成牌
card.append("red_King")
card.append("black_King") # 添加大小王
# 洗牌,多洗几次
for i in range(3):
random.shuffle(card)
k = 0
while k < 51:
player_one.append(card[k])
player_two.append(card[k + 1])
player_three.append(card[k + 2])
k = k + 3
print("底牌是: ")
under_card = card[51: 54]
print(under_card)
# 把牌给地主!
dz = eval(input("请输入地主是几号玩家?"))
if dz == 1:
player_one = player_one + under_card
elif dz == 2:
player_two = player_two + under_card
elif dz == 3:
player_three = player_three + under_card
print("一号玩家的牌是:")
print(sorted(player_one))
print("二号玩家的牌是:")
print(sorted(player_two))
print("三号玩家的牌是:")
print(sorted(player_three))
代码如上昂
来展示一组结果:
但是为什么10的所有牌在大意为呢。
sorted函数在排序时执行标准是第一个字符或者什么的。
那么10自然就是1喽。代码没错。
帮你理好牌了呢。