python小程序之4名牌手洗牌发牌问题解析
作者:fbvukn 发布时间:2023-08-28 04:06:20
标签:python,洗牌,发牌
本文为大家解析了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()
来源:https://blog.csdn.net/fbvukn/article/details/86090805


猜你喜欢
- 参数strSQL 要导出的SQL查询语句strFields 字段名称列表,如果为空字符,则使用SQL语句中的字段名用法示例:1:export
- 之前在用预训练的ResNet的模型进行迁移训练时,是固定除最后一层的前面层权重,然后把全连接层输出改为自己需要的数目,进行最后一层的训练,那
- 目录一、前言二、使用1.@Component2.compued、data、methods3.@props4.@watch5.@emit三 、
- 因为这两天在弄自己的一个问答程序www.sosoask.com ,结果发现开发人员把我的存储过程加密了,郁闷,还好找到解决方法了,现在共享下
- 在Intel的早期,Andy Grove遇到一个雇员 - 他建议公司在芯片的基础上开发个人计算机。AndyGrove疑问道“个人计算机能做什
- 本文实例讲述了Python3模拟登录操作。分享给大家供大家参考,具体如下:模拟登录_要求:1. 用户输入账号密码进行登录2. 用户信息保存在
- 安装 Python去 Python 官方网站找到 Python 3 的下载地址,根据你的系统选择 32 位或者 64 位的安装包,下载好后双
- 基本使用import unittestclass Testcase(unittest.TestCase): @classmeth
- 如何直接调用Excel数据?在ASP中,不用ODBC,如何直接调用Excel数据? 在调用处理处,究竟是使用:xlApp.qui
- 1.文件的读取和显示方法1: f=open(r'G:\2.txt') print f.read()&nb
- 假设访问的views.py如下1.使用url配置默认页from django.conf.urls import urlfrom django
- 在ACCESS中更改控件的默认属性 Lisa Friedrichsen, 欧弗兰帕克,堪萨斯州 如果您在设计一个Microsoft ACCE
- 本文实例讲述了PHP实现向关联数组指定的Key之前插入元素的方法。分享给大家供大家参考,具体如下:PHP 关联数组可以通过三种方式插入新元素
- 高考在即,笔者想为孩子以后能够快乐学习数学、学习编程找到一个比较合适的项目,经过一番比较发现github上的万星项目manim(https:
- 本文实例为大家分享了python实现快递价格查询系统的具体代码,供大家参考,具体内容如下一、代码#--author--张俊杰@Nick#系统
- 关于python的ssh库操作需要引入一个远程控制的模块——paramiko,可用于对远程服务器进行
- 今天在测试php程序的时候,出现了一个错误提示:Cannot use a scalar value as an array,这个错误提示前几
- 目录1. 初始化数组2. 数组求和、求最大值、最小值3. 过滤错误值4. 使用逻辑运算符5. 判断简化6. 清空数组7. 计算代码性能8.
- Django###request如果说 urls.py 是 Django 中前端页面和后台程序桥梁,那么 request 就是桥上负责运输的
- 思路:队列使用说明:multiprocessing.Queue()#用于进程间通信,单主进程与子进程无法通信(使用进程池时尽量不要使用这个)