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中的内置函数getattr()介绍及示例
Jul 20 Python
Python socket编程实例详解
May 27 Python
详解Python编程中包的概念与管理
Oct 16 Python
python 简单的绘图工具turtle使用详解
Jun 21 Python
Windows系统下PhantomJS的安装和基本用法
Oct 21 Python
python将pandas datarame保存为txt文件的实例
Feb 12 Python
详解如何减少python内存的消耗
Aug 09 Python
Django通用类视图实现忘记密码重置密码功能示例
Dec 17 Python
基于python3的socket聊天编程
Feb 17 Python
Python代码中如何读取键盘录入的值
May 27 Python
Python使用Matlab命令过程解析
Jun 04 Python
Matplotlib中%matplotlib inline如何使用
Jul 28 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
DSP接收机前端设想
2021/03/02 无线电
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
javascript web对话框与弹出窗口
2009/02/22 Javascript
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
jquery常用函数与方法汇总
2015/09/01 Javascript
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
JS二分查找算法详解
2017/11/01 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
2019/05/16 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
在Django中使用Sitemap的方法讲解
2015/07/22 Python
Python算术运算符实例详解
2017/05/31 Python
python正则表达式的使用
2017/06/12 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
英语自我评价范文
2014/01/24 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL