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向Excel中插入图片的简单实现方法
Apr 24 Python
Python之列表的插入&amp;替换修改方法
Jun 28 Python
计算机二级python学习教程(3) python语言基本数据类型
May 16 Python
python修改字典键(key)的方法
Aug 05 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
Python timer定时器两种常用方法解析
Jan 20 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
python属于哪种语言
Aug 16 Python
Python爬虫之App爬虫视频下载的实现
Dec 08 Python
Python 随机按键模拟2小时
Dec 30 Python
python Scrapy框架原理解析
Jan 04 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学习 字符串课件
2008/06/15 PHP
PHP中的session永不过期的解决思路及实现方法分享
2011/04/20 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
让您的菜单不离网站
2006/10/03 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
vue $mount 和 el的区别说明
2020/09/11 Javascript
Python Tkinter GUI编程入门介绍
2015/03/10 Python
python机器学习之决策树分类详解
2017/12/20 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
python 中如何获取列表的索引
2019/07/02 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
Python中的Cookie模块如何使用
2020/06/04 Python
Python 下载Bing壁纸的示例
2020/09/29 Python
客服服务心得体会
2013/12/30 职场文书
自我评价的写作规则
2014/01/06 职场文书
幼儿园小班植树节活动方案
2014/03/04 职场文书
大型活动组织方案
2014/05/10 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
学习保证书怎么写
2015/02/26 职场文书
我的1919观后感
2015/06/03 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书