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地址的两个方法
Feb 25 Python
django在接受post请求时显示403forbidden实例解析
Jan 25 Python
Python简单实现两个任意字符串乘积的方法示例
Apr 12 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
python 寻找list中最大元素对应的索引方法
Jun 28 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
Oct 21 Python
Python正则表达式和元字符详解
Nov 29 Python
Python流程控制 while循环实现解析
Sep 02 Python
Python下划线5种含义代码实例解析
Jul 10 Python
python动态规划算法实例详解
Nov 22 Python
asyncio异步编程之Task对象详解
Mar 13 Python
python​格式化字符串
Apr 20 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
Syphon 秘笈
2021/03/03 冲泡冲煮
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
php网站地图生成类示例
2014/01/13 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
php for 循环使用的简单实例
2016/06/02 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
php创建图像具体步骤
2017/03/13 PHP
用jscript启动sqlserver
2007/06/21 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
[02:39]DOTA2国际邀请赛助威团西雅图第一天
2013/08/08 DOTA
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
Python及Django框架生成二维码的方法分析
2018/01/31 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
django 环境变量配置过程详解
2019/08/06 Python
python中open函数的基本用法示例
2019/09/07 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
如何安装ruby on rails
2014/02/09 面试题
班班通项目实施方案
2014/02/25 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
java executor包参数处理功能 
2022/02/15 Java/Android