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搭建简易服务器分析与实现
Dec 15 Python
python变量不能以数字打头详解
Jul 06 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
Python常见数据结构之栈与队列用法示例
Jan 14 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
Python图像处理PIL各模块详细介绍(推荐)
Jul 17 Python
Python with语句和过程抽取思想
Dec 23 Python
关于tf.nn.dynamic_rnn返回值详解
Jan 20 Python
python实现引用其他路径包里面的模块
Mar 09 Python
Python实现Appium端口检测与释放的实现
Dec 31 Python
利用python实现汉诺塔游戏
Mar 01 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实现的九九乘法口诀表简洁版
2014/07/28 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
联强国际笔试题面试题
2013/07/10 面试题
高三体育教学反思
2014/01/29 职场文书
声乐专业大学生职业生涯规划书:理想的未来需要自己去打造
2014/09/20 职场文书