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脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
Python随机生成手机号、数字的方法详解
Jul 21 Python
django最快程序开发流程详解
Jul 19 Python
Python封装成可带参数的EXE安装包实例
Aug 24 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
你可能不知道的Python 技巧小结
Jan 29 Python
python将数据插入数据库的代码分享
Aug 16 Python
python如何使用腾讯云发送短信
Sep 17 Python
python3列表删除大量重复元素remove()方法的问题详解
Jan 04 Python
python 通过使用Yolact训练数据集
Apr 06 Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 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中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
php微信开发之百度天气预报
2016/11/18 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
Wordpress ThickBox 点击图片显示下一张图的修改方法
2010/12/11 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
Python FTP操作类代码分享
2014/05/13 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
深入理解Django的自定义过滤器
2017/10/17 Python
Python面向对象程序设计示例小结
2019/01/30 Python
python Pillow图像处理方法汇总
2019/10/16 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
好的演讲稿开场白
2013/12/30 职场文书
《乞巧》教学反思
2014/02/27 职场文书
社区母亲节活动记录
2014/03/06 职场文书
工程售后服务承诺书
2014/05/21 职场文书
实习协议书范本
2014/09/25 职场文书
食品安全责任书范本
2015/05/09 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android