python模拟实现分发扑克牌


Posted in Python onApril 22, 2020

本文实例为大家分享了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将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
python抓取京东价格分析京东商品价格走势
Jan 09 Python
跟老齐学Python之网站的结构
Oct 24 Python
Python实现图片滑动式验证识别方法
Nov 09 Python
python模拟事件触发机制详解
Jan 19 Python
用Django写天气预报查询网站
Oct 21 Python
PyCharm设置每行最大长度限制的方法
Jan 16 Python
Python学习笔记之文件的读写操作实例分析
Aug 07 Python
Python Django框架模板渲染功能示例
Nov 08 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
python实现查找所有程序的安装信息
Feb 18 Python
python自动生成证件号的方法示例
Jan 14 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 22 #Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 #Python
python模拟斗地主发牌
Apr 22 #Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
Apr 22 #Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 #Python
matlab中二维插值函数interp2的使用详解
Apr 22 #Python
python 一维二维插值实例
Apr 22 #Python
You might like
一个php Mysql类 可以参考学习熟悉下
2009/06/21 PHP
PHP循环结构实例讲解
2014/02/10 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
php验证码生成器
2017/05/24 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
原生JS轮播图插件
2017/02/09 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python重试装饰器示例
2014/02/11 Python
在Python程序中实现分布式进程的教程
2015/04/28 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
python实现屏保计时器的示例代码
2018/08/08 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
学生干部的自我评价分享
2014/01/18 职场文书
供货协议书范本
2014/04/22 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
2014年工会工作总结
2014/11/12 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
房贷收入证明范本
2015/06/12 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL