python模拟实现分发扑克牌

 更新时间:2020年04月22日 10:32:29   作者:container_off  
这篇文章主要为大家详细介绍了python模拟实现分发扑克牌,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python分发扑克牌的具体代码,供大家参考,具体内容如下

52张扑克牌发个4个玩家,每人13张。

要求:

自动生成一幅扑克牌组;洗牌;发牌到玩家手中;将玩家手中扑克牌按花色大小整理好。

思路一

import random
import operator
def auto():
  pokers=[]
  poker=[]
  for i in ['♥','♠','♦','♣']:
    for j in ['A','2','3','4','5','6','7','8','9','10','J','Q','K']:
      poker.append(i)
      poker.append(j)
      pokers.append(poker)
      poker=[]
  return pokers
poker=auto()
random.shuffle(poker)
li={}
for k in ['player1','player2','player3','player4']:
  b=random.sample(poker,13)  
  for s in b:
    poker.remove(s)
  li.setdefault(k,b)    
print('player1:',sorted(li['player1'],key=operator.itemgetter(0,1)))
print('player2:',sorted(li['player2'],key=operator.itemgetter(0,1)))  
print('player3:',sorted(li['player3'],key=operator.itemgetter(0,1)))
print('player4:',sorted(li['player4'],key=operator.itemgetter(0,1)))

思路二

import random
import time
A=['♥','♠','♦','♣']
B=['A','2','3','4','5','6','7','8','9','10','J','Q','K']
poker=[]
pokers=[]
n=1
for i in A:
  for j in B:
     pokers.append((n,(i+j)))
     n=n+1
print("开始洗牌....")
random.shuffle(pokers)
def xipai(x):
  for i in x:
    pokers.remove(i)
  return pokers
def fapai(y):
  for i in y:
    print(i[1],',',end=" ")
def paixu(z):
  for i in z:
    print(i[1],',',end=" ")
time.sleep(3)
a=random.sample(pokers,13) 
pokers=xipai(a)  
print("开始给player1发牌:\n")
print(fapai(a))
b=random.sample(pokers,13) 
pokers=xipai(b)  
print("开始给player2发牌:\n")
print(fapai(b))
c=random.sample(pokers,13) 
pokers=xipai(c)  
print("开始给player3发牌:\n")
print(fapai(c))
d=random.sample(pokers,13) 
pokers=xipai(d)  
print("开始给player4发牌:\n")
print(fapai(d))

a.sort()
b.sort()
c.sort()
d.sort()

time.sleep(3)
print("player1的牌:\n")
print(paixu(a))
print("player2的牌:\n")
print(paixu(b))
print("player3的牌:\n")
print(paixu(c))
print("player4的牌:\n")
print(paixu(d)) 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 简单聊聊Python中的鸭子类型和猴子补丁

    简单聊聊Python中的鸭子类型和猴子补丁

    不知不觉使用python写代码已经很长时间了,下面这篇文章主要给大家介绍了关于python鸭子类型(duck type)和猴子补丁(mokey patching)的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Python打印详细报错日志,获取报错信息位置行数方式

    Python打印详细报错日志,获取报错信息位置行数方式

    这篇文章主要介绍了Python打印详细报错日志,获取报错信息位置行数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python3爬虫RedisDump的安装步骤

    Python3爬虫RedisDump的安装步骤

    在本篇文章里小编给大家整理的是一篇关于Python3爬虫RedisDump的安装步骤,有兴趣的朋友们可以学习参考下。
    2021-02-02
  • python中的闭包函数

    python中的闭包函数

    这篇文章主要介绍了python中的闭包函数,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python开发之Nginx+uWSGI+virtualenv多项目部署教程

    Python开发之Nginx+uWSGI+virtualenv多项目部署教程

    这篇文章主要介绍了Python系列之-Nginx+uWSGI+virtualenv多项目部署教程,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • python高阶函数使用教程示例

    python高阶函数使用教程示例

    这篇文章主要为大家介绍了python高阶函数使用教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python多继承顺序实例分析

    Python多继承顺序实例分析

    这篇文章主要介绍了Python多继承顺序,结合实例形式分析了Python多继承情况下继承顺序对同名函数覆盖的影响,需要的朋友可以参考下
    2018-05-05
  • Python 如何反方向迭代一个序列

    Python 如何反方向迭代一个序列

    这篇文章主要介绍了Python 如何反方向迭代一个序列,文中讲解非常细致,代码帮助大家更好理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Pygame Display显示模块的使用方法

    Pygame Display显示模块的使用方法

    本文主要介绍了Pygame Display显示模块的使用方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • PyCharm 2021.2 (Professional)调试远程服务器程序的操作技巧

    PyCharm 2021.2 (Professional)调试远程服务器程序的操作技巧

    本文给大家分享用 PyCharm 2021 调试远程服务器程序的过程,通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08

最新评论