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中函数的参数
Apr 27 Python
介绍Python中内置的itertools模块
Apr 29 Python
详解Python装饰器由浅入深
Dec 09 Python
在Python中字典根据多项规则排序的方法
Jan 21 Python
python for 循环获取index索引的方法
Feb 01 Python
提升Python程序性能的7个习惯
Apr 14 Python
python代码编写计算器小程序
Mar 30 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
Oct 27 Python
Django vue前后端分离整合过程解析
Nov 20 Python
python 用opencv实现霍夫线变换
Nov 27 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 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 删除数组元素
2009/01/16 PHP
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
浅谈js中的bind
2019/03/18 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
介绍Python中几个常用的类方法
2015/04/08 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
Python安装第三方库攻略(pip和Anaconda)
2020/10/15 Python
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
自荐信怎么写好
2013/11/11 职场文书
会计专业自我鉴定范文
2013/12/29 职场文书
企业安全生产责任书
2014/04/14 职场文书
综合内勤岗位职责
2014/04/14 职场文书
综合素质自我评价怎么写
2014/09/14 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
给上级领导的感谢信
2015/01/22 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
少先队工作总结2015
2015/05/13 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
python随机打印成绩排名表
2021/06/23 Python
Go Plugins插件的实现方式
2021/08/07 Golang