python小程序之4名牌手洗牌发牌问题解析
作者:fbvukn 时间:2023-08-28 04:06:20
本文为大家解析了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
标签:python,洗牌,发牌
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python中的五种异常处理机制介绍
2022-05-05 13:02:01
Python+tkinter编写一个最近很火的强制表白神器
2022-10-25 07:42:10
![](https://img.aspxhome.com/file/2023/5/121405_0s.png)
python实现windows下文件备份脚本
2021-05-06 06:32:41
去掉运行JavaScript时IE产生的警告栏
2008-09-11 18:07:00
![](https://img.aspxhome.com/file/UploadPic/20089/11/2008911181137794s.png)
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2023-09-11 08:28:26
![](https://img.aspxhome.com/file/2023/7/55317_0s.jpg)
python中如何实现径向基核函数
2023-11-28 02:48:45
![](https://img.aspxhome.com/file/2023/1/88911_0s.png)
MySQL RC事务隔离的实现原理
2024-01-29 06:12:23
![](https://img.aspxhome.com/file/2023/6/128386_0s.png)
Python Pandas 修改表格数据类型 DataFrame 列的顺序案例
2023-02-27 17:47:37
Python实现二叉树前序、中序、后序及层次遍历示例代码
2023-12-02 00:36:40
Python自定义进程池实例分析【生产者、消费者模型问题】
2023-05-20 12:20:02
能介绍一下NameSpace常用的地方吗?
2009-11-01 18:11:00
python爬虫 模拟登录人人网过程解析
2023-06-18 18:42:19
python高级特性简介
2023-11-21 10:27:08
分享3个非常实用的 Python 模块
2023-08-07 18:21:33
深入讨论Python函数的参数的默认值所引发的问题的原因
2022-08-03 00:54:31
在Django的模型中添加自定义方法的示例
2021-12-07 17:14:58
Git远程操作详解
2022-02-11 06:15:51
![](https://img.aspxhome.com/file/2023/2/109542_0s.jpg)
Python函数式编程的用法详解
2021-12-21 16:16:15
详解pyqt5 动画在QThread线程中无法运行问题
2021-07-22 21:00:43
![](https://img.aspxhome.com/file/2023/9/99539_0s.gif)
Python+Delorean实现时间格式智能转换
2021-08-13 12:05:41