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的Django REST框架中的序列化及请求和返回
Apr 11 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
Python实现自定义顺序、排列写入数据到Excel的方法
Apr 23 Python
基于python requests库中的代理实例讲解
May 07 Python
python使用tcp实现局域网内文件传输
Mar 20 Python
python MNIST手写识别数据调用API的方法
Aug 08 Python
Python实现SQL注入检测插件实例代码
Feb 02 Python
python tools实现视频的每一帧提取并保存
Mar 20 Python
Python获取数据库数据并保存在excel表格中的方法
Jun 12 Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 Python
Python接口测试文件上传实例解析
May 22 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 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
php5.2时间相差8小时
2007/01/15 PHP
php 图像函数大举例(非原创)
2009/06/20 PHP
php写的简易聊天室代码
2011/06/04 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
Python实现子类调用父类的方法
2014/11/10 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
python入门基础之用户输入与模块初认识
2016/11/14 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
红领巾广播站广播稿
2014/02/01 职场文书
大学活动总结格式
2014/04/29 职场文书
事业单位聘任报告
2015/03/02 职场文书
网聊搭讪开场白
2015/05/28 职场文书
公司管理制度范本
2015/08/03 职场文书
高效课堂教学反思
2016/02/24 职场文书
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
浅谈Vue的computed计算属性
2022/03/21 Vue.js