"""
Author:泽万
Time:2021/12/20 17:38
"""
import random
def poker():
"""
按顺序创建一副扑克,按照斗地主的大小进行排序创建的一副牌。
:return: 返回54张牌
"""
s = ['JOKER', 'joker']
s1 = ['2', 'A', 'K', 'Q', 'J']
for i in s1:
s.append(str(i) + '♠')
s.append(str(i) + '♥')
s.append(str(i) + '♣')
s.append(str(i) + '♦')
for i in range(10, 2, -1):
s.append(str(i) + '♠')
s.append(str(i) + '♥')
s.append(str(i) + '♣')
s.append(str(i) + '♦')
return s
def deal():
"""
随机发牌给s1,s2,s3,代表玩家 底牌为:s4
:return: 返回每一副牌
"""
s = poker() # 调用一副牌
s1 = random.sample(s, k=17)
s2 = random.sample(list(set(s) ^ set(s1)), k=17)
s3 = random.sample(list(set(s) ^ set(s2) ^ set(s1)), k=17)
s4 = random.sample(list(set(s) ^ set(s2) ^ set(s1) ^ set(s3)), k=3) # 底牌
return s1, s2, s3, s4
def sorts(ss):
"""
给牌排序
:param ss: 传递的副
:return: None
"""
p = poker() # 调用原牌的顺序,原牌是按照斗地主大小进行排序。
s111 = [] # 存储每张牌的下标
for i in ss:
for j in range(len(p)):
if p[j] == i:
s111.append(j) # 把每张牌的下标储存
s111.sort() # 对下标进行排序
for i in s111:
print(p[i], end=' ') # 打印排序后的牌
print()
s11, s22, s33, s44 = deal()
sorts(s11)
sorts(s22)
sorts(s33)
sorts(s44)
day16 - 发扑克 作业
最新推荐文章于 2024-09-29 09:51:12 发布