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 pickle模块用法实例
Apr 14 Python
Python中pygame安装方法图文详解
Nov 11 Python
Python的Tornado框架实现图片上传及图片大小修改功能
Jun 30 Python
浅谈Python 对象内存占用
Jul 15 Python
更改Ubuntu默认python版本的两种方法python-&gt; Anaconda
Dec 18 Python
基于Django的ModelForm组件(详解)
Dec 07 Python
Python类的继承和多态代码详解
Dec 27 Python
python多线程之事件Event的使用详解
Apr 27 Python
Python3.6连接Oracle数据库的方法详解
May 18 Python
浅析python的优势和不足之处
Nov 20 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
pytorch自定义初始化权重的方法
Aug 17 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入门学习的几个不错的实例代码
2008/07/13 PHP
php Memcache 中实现消息队列
2009/11/24 PHP
很让人受教的 提高php代码质量36计
2012/09/05 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
PHP基于ip2long实现IP转换整形
2020/12/11 PHP
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
JavaScript中的数学运算介绍
2014/12/29 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
加热夹克:RAVEAN
2018/10/19 全球购物
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
2015年招生工作总结
2015/05/04 职场文书
创业计划书之酒吧
2019/12/02 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
MySQL分布式恢复进阶
2022/07/23 MySQL