Python扑克牌发牌

Python 扑克牌游戏案例 【代码】Python 扑克牌游戏案例。 阅读详情


1. 题目🔍

从键盘输入一个整数作为随机种子,随机生成一副扑克牌(去掉大小王),循环分给4位牌手,每人5张牌(第1、5、9、13、17张牌给第一个玩家,第2、6、10、14、18给第二个玩家…以此类推)并输出。

1.1 输出样例

4
♦Q   ♠10  ♣A   ♠9   ♠4   ♣K   ♦3   ♣Q   ♣4   ♣5   ♥8   ♠A   ♦J   
♦K   ♣2   ♥K   ♥J   ♥3   ♦7   ♦2   ♣7   ♣6   ♦4   ♠Q   ♣10  ♣3   
♠8   ♦A   ♥A   ♦6   ♥9   ♣J   ♥Q   ♠5   ♠J   ♦9   ♦8   ♠2   ♥4   
♠6   ♦10  ♣9   ♥2   ♥5   ♥6   ♥10  ♦5   ♠K   ♣8   ♥7   ♠7   ♠3   
第1个玩家的牌是:♦Q, ♠4, ♣4, ♦J, ♥J
第2个玩家的牌是:♠10, ♣K, ♣5, ♦K, ♥3
第3个玩家的牌是:♣A, ♦3, ♥8, ♣2, ♦7
第4个玩家的牌是:♠9, ♣Q, ♠A, ♥K, ♦2

2. 题解✨

2.1 知识储备

  1. random.seed():获取某种特定生成的随机数
    当seed()无参数时,每次生成的随机数不同,
    当seed()有参数时,若参数相同,则每次生成的随机数相同;若参数不同,则生成的随机数也不同
import random

ls = [1, 2, 3, 4, 5, 6, 7, 8]

for i in range(8):
    random.seed(4)      # 试着改变seed()中的数或者注释掉这一行,看看输出的变化
    print(random.randint(1, 10))	# randint(a, b)随机生成[a, b]间的整数

# 注意⚠️:randint与range取值范围的区别。前者能取右侧的值,后者不能
  1. random.shuffle():将一个序列(列表、字符串或元组)的顺序打乱
# 示例
import random

mylist = ["apple", "banana", "cherry"]
random.shuffle(mylist)

print(mylist)

2.2 代码

import random


# 生成一副不含大小王的扑克牌序列
def create(suit, d):
    ls = []
    for i in range(4):
        for j in range(13):
            temp = suit[i] + d[j]
            ls.append(temp)
    return ls


# 随机洗牌
def shufflecard(pokers):
    random.shuffle(pokers)
    return pokers


# 发5张牌给一个玩家并将发给该玩家的牌输出
def deal(pokers, n):
    ls = []
    for i in range(n - 1, n + 16, 4):
        ls.append(pokers[i])
    print('第{}个玩家的牌是:{}'.format(n, ', '.join(ls)))


n = int(input())

suit = ['♥', '♠', '♦', '♣']
d = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
random.seed(n)
poker = create(suit, d)
poker = shufflecard(poker)

for i in range(52):
    print('{:4}'.format(poker[i]), end=' ')		# 格式化输出洗牌后的牌
    if i % 13 == 12:
        print()									# 换行
for i in range(1, 5):
    deal(poker, i)

相关内容

python实现扑克牌交互式界面发牌程序 注:图片自行在网上下载、替换即可 [转载请标明出处] #coding=utf-8 class Card(): #扑克牌类 points=['1','2','3','4','5','6','7','8','9','10','11','12','13'] suits=['1','2','3','4'] #花色 def __init__(self,points,suits): ... 阅读详情

相关推荐

纸牌发牌代码

优化整合纸牌发牌代码,解决传统发牌代码存在的时间复杂度高,给予优化,可直接运行

北邮 python 6 - 6 jmu-python-发牌

从键盘输入一个整数作为随机种子,随机生成一副扑克牌(去掉大小王),循环分给4位牌手,每人5张牌(第1、5、9、13、17张牌给第一个玩家,第2、6、10、14、18给第二个玩家。。。以此类推)并输出。 函数接口定义: create( ) shufflecard(pokers) deal(pokers,n) 其中create( )的功能是生成一副不含大小王的扑克牌序列并返回;shufflecard(pokers)的功能是随机洗牌并返回洗牌后的扑克牌序列,其中 pokers 是传入的参数,表示52张扑克牌的序.

计算机科学与技术专业学生的成长之路 4204

PHP实现随机发扑克牌

本文实例为大家分享了PHP实现随机发扑克牌的具体代码,供大家参考,具体内容如下 <!doctype html> <html> <!-- 随机发扑克牌 --> <head> <meta charset="UTF-8"> <title>随机发牌</title> <style> div{margin:15px 0} font{border:1px solid #ccc;padding:6px 3px;margin-right:10px} </style> <?php // 建立数组保存的牌组池 $num = ['A', '2', '3', '4', '5', '6', '7', '8',

6-4 jmu-python-发牌

deal(pokers,n) 是发5张牌给一个玩家并将发给该玩家的牌输出(输出“第i个玩家拿到的牌是:xx,xx,xx,xx,xx”,其中冒号为中文符号,5张牌之间的逗号为英文符号),其中pokers 是已经洗好牌的52张扑克牌序列、 n 表示第几个玩家。从键盘输入一个整数作为随机种子,随机生成一副扑克牌(去掉大小王),循环分给4位牌手,每人5张牌(第1、5、9、13、17张牌给第一个玩家,第2、6、10、14、18给第二个玩家。第2个玩家拿到的牌是:♣A,♥Q,♣Q,♣6,♦4。

qq_53810226的博客 1258

Unipush2.0 App消息推送(在线+离线推送)

使用unipush2.0进行消息推送,包含在线跟离线

weixin_50251467的博客 3693

Windows下Python多版本共存与切换的终极指南(含环境变量详解)

本文详细解析了在Windows系统下实现Python多版本共存与切换的完整方案。通过深入讲解环境变量Path的底层机制,提供了从安装策略、精细化Path管理到创建快速切换脚本的实战指南,并介绍了py启动器和虚拟环境等高级技巧,帮助开发者彻底解决版本冲突问题,提升开发效率。

v6b7n8m9q0的博客 535

PYTHON:生成随机的一副扑克牌(不包括大小王)

PYTHON:生成随机的一副扑克牌(不包括大小王)

m0_51783792的博客 7505

全桥LLC谐振变换器变频控制工作原理与仿真

全桥LLC谐振变换器以其效率高、全范围软开关、器件电应力小等优点,越来越多地应用于大功率场合。电力电子技术的发展日益追求高频化,所带来的问题是半导体开关器件高频运行时的开关损耗急剧增加。各种软开关电路随之出现。可以有效减小开关损耗,使进一步提高开关频率成为可能。谐振式开关因其可在电流自然过零点开通半导体器件,实现零电压开关,特别适合采用MOSFET作开关的装置。最简单的谐振电路有串联谐振(SRC)和并联谐振(PRC)。SRC只能工作于降压状态,应用受限;

晞子的技术札记 3059

python分发扑克牌_python模拟实现分发扑克牌

本文实例为大家分享了python分发扑克牌的具体代码,供大家参考,具体内容如下52张扑克牌发个4个玩家,每人13张。要求:自动生成一幅扑克牌组;洗牌;发牌到玩家手中;将玩家手中扑克牌按花色大小整理好。思路一import randomimport operatordef auto():pokers=[]poker=[]for i in ['♥','♠','♦','♣']:for j in ['A',...

weixin_34313315的博客 1654

别再只盯着报点率了:聊聊电容触摸屏算法里那些不为人知的‘软实力’

本文深入探讨了电容触摸屏算法中常被忽视的‘软实力’,包括环境噪声干扰、信号衰减补偿和多物理场耦合等核心挑战。通过对比消费电子与工业场景的算法需求,揭示了触摸算法在不同应用中的技术分野。文章还提供了实用的算法评估方法和前沿发展趋势,帮助开发者全面了解电容触摸屏技术的隐秘战场。

weixin_42524276的博客 388

libfacedetection 框架阅读及扩展经验

libfacedetection 框架源码解析与扩展心得1. libfacedetection 框架简介2. 源码解析2.1 facedetectcnn.h2.2 facedetectcnn.cpp2.3 facedetectcnn-model.cpp3. 其他层的扩展--depthwise convolution 前段时间因为工作需要,对libfacedetection框架做了些扩展,在阅读源...

weixin_42616332的博客 1500

Python 扑克牌游戏_发牌

''' Python 扑克牌游戏_发牌 by 郑瑞国 ''' import random poker=[x for x in range(1,55)] player={} for p in range(1,4): player[p]=[] pokers={} #print(poker) types = ['红桃','方片','黑花','黑桃'] num = [y for y in ...

zheng_ruiguo的专栏 3168

【007】C++编程必知:原码、补码、反码的全面解读

计算机存储的是数据的补码。原码:计算机中对数字的二进制定点表示方法。比如123的原码是0111 1011。无符号数:原码=反码=补码。有符号数:要分正数和负数,正数的最高位为0,负数的最高位为1。其中,正数的原码、反码、补码都是相同的;负数的反码等于原码的符号数(最高位)不变,其他位取反;补码等于反码+1。比如:-123的原码是1111 1011,反码为1000 0100,补码为1000 0101。原码、补码和反码都是用于计算机表示有符号整数的方法。

Lion_Long的博客 2916

python发牌游戏图形界面_python实现扑克牌交互式界面发牌程序

本文实例为大家分享了python实现扑克牌交互式界面发牌程序的具体代码,供大家参考,具体内容如下注:图片自行在网上下载、替换即可#coding=utf-8class Card(): #扑克牌类points=['1','2','3','4','5','6','7','8','9','10','11','12','13']suits=['1','2','3','4'] #花色def __init__(...

weixin_39946313的博客 1586

Underactuated Robotics - 欠驱动机器人学(一)- 全驱动与欠驱动系统

根据牛顿的观点,机械系统的动力学是二阶的(其状态由位置向量 q(也称为配置向量)和速度向量以及(可能还有)时间给出。二阶控制动力系统的一般形式是:其中 u 是控制向量。定义 1.1 (欠驱动控制微分方程) 二阶控制微分方程描述如下:在状态和时间 t 中,如果所得到的映射是可射的:对于每一个,都存在一个能产生预期响应的,那么系统就是全驱动的。否则,就是欠驱动(状态在时间 t)。

机器人控制与仿真应用 3377

Google Earth Engine 实现图像随机森林分类_遥感分类全流程详解

本文将通过一段完整的GEE代码,逐步讲解如何利用Sentinel-2影像和随机森林算法,实现地表覆盖分类。代码包含等关键步骤,适合遥感入门学习!

国科大硕士在读,分享Python/GEE/Matlab/R专业代码实践,涵盖数据分析、算法开发与应用技巧等,以代码会友。 915

随机发牌_用Python制作4人扑克牌发牌游戏

扑克牌算是老少皆宜的经典款游戏之一,玩法多样,但万变不离其宗,想要编写扑克牌类游戏,首先得整理清楚发牌的逻辑。1. 游戏介绍4名牌手打牌,电脑随机將52张牌(不合大、小王)发给4名牌手,并在屏幕上显示每位牌手的牌。2. 面向对象程序设计既然只做发牌,那么我们就只需要整理清楚发牌的过程中所牵涉到的对象即可。其实整个发牌的过程中,所牵扯到的只有牌,但分三种不同的情况显示,第一个是单张牌(Card)...

weixin_27230891的博客 2220

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

用python扑克随机发牌_python:扑克牌发牌程序

Python实现扑克牌发牌程序运行效果如下Python3.7代码实现如下classPard:#一张牌DIGIT=['A','2','3','4','5','6','7','8','9','10','J','Q','K'];#数值FLOWER_COLOUR=['黑','红','梅','方'];#花色def__init__(self,digit,flower_colour,face_up=True):...

weixin_39945178的博客 1484

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

实验4 发牌程序_用Python制作4人扑克牌发牌游戏

扑克牌算是老少皆宜的经典款游戏之一,玩法多样,但万变不离其宗,想要编写扑克牌类游戏,首先得整理清楚发牌的逻辑。1. 游戏介绍4名牌手打牌,电脑随机將52张牌(不合大、小王)发给4名牌手,并在屏幕上显示每位牌手的牌。2. 面向对象程序设计既然只做发牌,那么我们就只需要整理清楚发牌的过程中所牵涉到的对象即可。其实整个发牌的过程中,所牵扯到的只有牌,但分三种不同的情况显示,第一个是单张牌(Card)...

weixin_39790738的博客 762

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python制作扑克牌发牌程序,另含大量Python代码!

题目 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌。 提示: 设计出3个类:Card类、Hand类和Poke类。 Card类代表一张牌,其中FaceNum字段指出是牌面数字1~13,Suit字段指出的是花色,值“梅”为梅花,“方”为方块,“红”为红心,“黑”为黑桃。 Hand类代表一手牌,可以认为是一位牌手手里的牌,其中cards列表变量存储牌手手里的牌。可以增加牌、清空手里的牌、把一张牌给别的牌手。 Poke类代表一副牌,可以把一副牌看作是有52张.

python入门学习进阶教程 2949

python发牌代码十点半_Python如何用类实现扑克牌发牌 Python用类实现扑克牌发牌代码示例...

Python如何用类实现扑克牌发牌?本篇文章小编给大家分享一下Python用类实现扑克牌发牌代码示例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。1. 题目编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌。提示:设计出3个类:Card类、Hand类和Poke类。Card类代表一张牌,其中FaceNum字段指出是牌面数字1...

weixin_39608559的博客 177

python分发扑克牌_python实现扑克牌交互式界面发牌程序

本文实例为大家分享了python实现扑克牌交互式界面发牌程序的具体代码,供大家参考,具体内容如下注:图片自行在网上下载、替换即可#coding=utf-8class Card(): #扑克牌类points=['1','2','3','4','5','6','7','8','9','10','11','12','13']suits=['1','2','3','4'] #花色def __init__(...

weixin_39600328的博客 295

用python扑克随机发牌_python实现扑克牌交互式界面发牌程序

本文实例为大家分享了python实现扑克牌交互式界面发牌程序的具体代码,供大家参考,具体内容如下注:图片自行在网上下载、替换即可#coding=utf-8class Card(): #扑克牌类points=['1','2','3','4','5','6','7','8','9','10','11','12','13']suits=['1','2','3','4'] #花色def __init__(...

weixin_39743622的博客 441

python做一副54扑克牌发牌_Python制作扑克牌发牌程序,另含大量Python代码!

看做是有52张牌的牌手,所以继承Hand类。由于其中cards列表变量要存储52张牌而且要发牌,洗牌,所以增加方法如下方法:"""def populate(self): # 生成一副牌for suit in Card.SUITS:for rank in Card.RANKS:self.add(Card(rank, suit))def shuffle(self): #...

weixin_39895486的博客 739

Python扑克牌发牌(用类实现)

文章目录1. 题目????1.1 输出样例2. 题解✨2.1 代码 1. 题目???? 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌。 提示: 设计出3个类:Card类、Hand类和Poke类。 Card类代表一张牌,其中FaceNum字段指出是牌面数字1~13,Suit字段指出的是花色,值“梅”为梅花,“方”为方块,“红”为红心,“黑”为黑桃。 Hand类代表一手牌,可以认为是一位牌手手里的牌,其中cards列表变量存储牌手手里的牌。可以增加牌、清

林大夕可的博客 3551

用python扑克随机发牌_Python用类实现扑克牌发牌的示例代码

1. 题目编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌。提示:设计出3个类:Card类、Hand类和Poke类。Card类代表一张牌,其中FaceNum字段指出是牌面数字1~13,Suit字段指出的是花色,值“梅”为梅花,“方”为方块,“红”为红心,“黑”为黑桃。Hand类代表一手牌,可以认为是一位牌手手里的牌,其中cards列表变量存储牌手手...

weixin_39622332的博客 1186
上一篇: Python计算斐波那契数列
下一篇: Python猜数字(Guess Digit)
林大夕可
博客等级 码龄7年 2221粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值