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实现ip查询示例
Mar 26 Python
用Python实现一个简单的线程池
Apr 07 Python
详解Python中with语句的用法
Apr 15 Python
Python中的连接符(+、+=)示例详解
Jan 13 Python
python多进程实现进程间通信实例
Nov 24 Python
Python实现多线程的两种方式分析
Aug 29 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
python for和else语句趣谈
Jul 02 Python
在pytorch中查看可训练参数的例子
Aug 18 Python
python-web根据元素属性进行定位的方法
Dec 13 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
Sep 20 Python
基于python爬取链家二手房信息代码示例
Oct 21 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部分常见问题总结
2006/10/09 PHP
配置PHP使之能同时支持GIF和JPEG
2006/10/09 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
document.documentElement &amp;&amp; document.documentElement.scrollTop
2007/12/01 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
2018/05/04 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
Python中的推导式使用详解
2015/06/03 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
Python将string转换到float的实例方法
2019/07/29 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
英语系本科生个人求职信
2013/09/21 职场文书
企业管理专业个人求职信范文
2013/09/24 职场文书
宪法宣传周工作方案
2014/05/26 职场文书
关于诚信的活动方案
2014/08/18 职场文书
2014收银员工作总结范文
2014/12/16 职场文书
英语辞职信范文
2015/02/28 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
同学聚会祝酒词
2015/08/10 职场文书
2019年入党思想汇报
2019/03/25 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS