python小程序之4名牌手洗牌发牌问题解析


Posted in Python onMay 15, 2020

本文为大家解析了python实现4名牌手洗牌发牌的问题,供大家参考,具体内容如下

编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌。创建函数gen_pocker()交换牌的顺序,函数getColor()获取牌的花色,函数getValue()获取牌的牌面大小,函数getPuk()获取花色和牌面大小的组合

运行效果

[51, 45, 31, 4, 48, 26, 11, 2, 24, 44, 22, 21, 16, 41, 50, 47, 13, 25, 17, 29, 42, 27, 19, 33, 5, 40, 1, 8, 30, 18, 10, 9, 0, 3, 14, 46, 36, 35, 12, 15, 20, 34, 38, 39, 43, 37, 32, 7, 28, 23, 49, 6]

牌手1:方块4 方块8 方块A 方块Q 红桃3 红桃5 红桃J 草花6 草花A 黑桃10 黑桃4 黑桃5 黑桃K

牌手2:方块6 方块J 方块K 红桃10 红桃2 红桃9 红桃A 红桃Q 草花4 黑桃2 黑桃3 黑桃6 黑桃7

牌手3:方块10 方块2 方块5 方块7 红桃6 红桃7 红桃K 草花2 草花J 草花K 草花Q 黑桃J 黑桃Q

牌手4:方块3 方块9 红桃4 红桃8 草花10 草花3 草花5 草花7 草花8 草花9 黑桃8 黑桃9 黑桃A

import random
def gen_pocker(n):
  random.shuffle(n)
  return n
#产生牌的花色
def getColor(n):
  if(n>=0 and n<=12):
    return "梅花"
  elif(n>=13 and n<=25):
    return "方块"
  elif(n>=26 and n<=38):
    return "红桃"
  elif(n>=39 and n<=51):
    return "黑桃"
def getValue(n):
  if n==0 or n==13 or n==26 or n==39:
    return 'A'
  elif n==12 or n==38 or n==25 or n==51:
    return 'K'
  elif n==11 or n==37 or n==24 or n==50:
    return 'Q'
  elif n==10 or n==36 or n==23 or n==49:
    return 'J'
  else:
    return n%13
def getPuk():
  List=[]    #代表一副牌,现在表示还没有牌,只是一个牌盒
  for i in range(0,52):
    List.append(i)  #按顺序往牌盒中放入52张牌
  List=gen_pocker(List)  #将牌盒中的牌打乱顺序
  List1=[]       #定义4个牌手
  List2=[]    
  List3=[]
  List4=[]
  for i in range(0,52): #实现发牌
    if i<13:    #打乱后的前13张牌发给牌手1,实现牌手1手牌中如何含有花色和数字
      List1.append(getColor(List[i])+str(getValue(List[i])))
    elif i<26:
      List2.append(getColor(List[i])+str(getValue(List[i])))
    elif i<39:
      List3.append(getColor(List[i])+str(getValue(List[i])))
    else:
      List4.append(getColor(List[i])+str(getValue(List[i])))
  print(List)
  print("牌手1",List1)
  print("牌手2",List2)
  print("牌手3",List3)
  print("牌手4",List4)
getPuk()

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

Python 相关文章推荐
Python中使用item()方法遍历字典的例子
Aug 26 Python
Python使用xlrd模块操作Excel数据导入的方法
May 26 Python
python如何修改装饰器中参数
Mar 20 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
flask框架路由常用定义方式总结
Jul 23 Python
django 微信网页授权登陆的实现
Jul 30 Python
opencv转换颜色空间更改图片背景
Aug 20 Python
Python实现搜索算法的实例代码
Jan 02 Python
Python django框架开发发布会签到系统(web开发)
Feb 12 Python
Python新手学习raise用法
Jun 03 Python
Python爬虫HTPP请求方法有哪些
Jun 03 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 #Python
使用Python实现将多表分批次从数据库导出到Excel
May 15 #Python
解决python执行较大excel文件openpyxl慢问题
May 15 #Python
python可迭代对象去重实例
May 15 #Python
python 操作mysql数据中fetchone()和fetchall()方式
May 15 #Python
Python实现UDP程序通信过程图解
May 15 #Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 #Python
You might like
PHP 程序员应该使用的10个组件
2009/10/31 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
vuex提交state&amp;&amp;实时监听state数据的改变方法
2018/09/16 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
[01:44]Ti10举办地公布
2019/08/25 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
Python iter()函数用法实例分析
2018/03/17 Python
Python Numpy:找到list中的np.nan值方法
2018/10/30 Python
python3获取当前目录的实现方法
2019/07/29 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
python如何导入依赖包
2020/07/13 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
大二自我鉴定
2014/01/31 职场文书
怎样写好创业计划书的内容
2014/02/06 职场文书
珍惜资源的建议书
2014/08/26 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
五年级学生期末评语
2014/12/26 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
同事离别感言
2015/08/04 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
python套接字socket通信
2022/04/01 Python