制作 python 程序发牌时遇到的麻烦。

2024-01-07

我想做一个纸牌游戏。我所坚持的是发牌。我所做的就是对每张卡制定一个指令,并赋予它一个值,因为有些卡比其他卡更有价值。我的想法是将字典分成4部分,或者将每本字典复印4份,然后从每份中删除39张卡片(每人留下13张卡片)。这是否可能,或者我是否以错误的方式处理这个问题?

from random import randint
deck = {}
def makeDeck(deck):
  suit = ['Club', 'Spade', 'Heart', 'Diamond']
  whichSuit = 0
  whichNum = 2
  count = 1
  while count != 52:
    if whichNum == 11:
      whichNum = 'Jack'
    if whichNum == 12:
      whichNum = 'Queen'
    if whichNum == 13:
      whichNum = 'King'
    if whichNum == 14:
      whichNum = 'Ace'
    deck[str(whichNum)+' '+suit[whichSuit]] = count
    count += 1
    if whichNum == 'Jack':
      whichNum = 11
    if whichNum == 'Queen':
      whichNum = 12
    if whichNum == 'King':
      whichNum = 13
    if whichNum == 'Ace':
      whichNum = 14
    whichNum += 1
    if count == 13 or count == 26 or count == 39:
     whichSuit += 1
     whichNum = 2
def dealCards(deck):
  me = deck
  comp1 = deck
  comp2 = deck
  comp2 = deck

(抱歉,如果代码有误,这是我的第一篇文章,谢谢)


听起来是一个使用课程的好机会!我会这样做:

from random import shuffle

class Cards:
    def __init__(self):
        values = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
        suites = ['H', 'S', 'C', 'D']
        self.deck = [j + i for j in values for i in suites]

    def shuffle(self):
        shuffle(self.deck)

    def deal(self, n_players):
        self.hands = [self.deck[i::n_players] for i in range(0, n_players)]

c = Cards()
print c.deck
c.shuffle()
print c.deck
c.deal(4)
print c.hands
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

制作 python 程序发牌时遇到的麻烦。 的相关文章

  • QSortFilterProxyModel + QAbstractItemModel modelIndex.internalPointer() 导致崩溃

    我在 PyQt 4 8 Python 2 7 中实现了自己的 QAbstractItemModel class FriendListModel QtCore QAbstractItemModel def init self groups c
  • 通过 Python 与 Windows 控制台应用程序交互

    我在 Windows 上使用 python 2 5 我希望通过 Popen 与控制台进程交互 我目前有一小段代码 p Popen console app exe stdin PIPE stdout PIPE issue command 1
  • 如何测试顶级窗口是否打开?

    我感觉 Python 编程可能不是我的菜 我创建了一个 tkinter GUI 它使用按钮回调来打开另一个窗口 其他搜索说这个窗口应该是顶级窗口 并且它工作得很好 但是每次按下按钮时它都会打开另一个相同的窗口 如据我所知 窗口 问题 如何测
  • OpenCV Python 删除图像中的某些对象

    我正在使用带有 opencv 和 numpy 的 python 来检测天文中的星星 例如这个1 https i stack imgur com AKwEJ jpg图片 使用模板匹配 我可以用阈值检测星星 单击 2 2 https i sta
  • 运行源代码中包含 Unicode 字符的 Python 2.7 代码

    我想运行一个在源代码中包含 unicode utf 8 字符的 Python 源文件 我知道这可以通过添加评论来完成 coding utf 8 在一开始的时候 但是 我希望不使用这种方法来做到这一点 我能想到的一种方法是以转义形式编写 un
  • 如何编写高效的配对算法?

    我需要一种算法的帮助 该算法可以有效地将人们分组 并确保以前的配对不会重复 例如 假设我们有 10 位候选人 candidates 0 1 2 3 4 5 6 7 8 9 并假设我们有一个先前匹配的字典 这样每个键值对即candidate
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • Docker:通过 Gunicorn 运行 Flask 应用程序 - Worker 超时?表现不佳?

    我正在尝试创建一个用Python Flask编写的新应用程序 由gunicorn运行 然后进行dockerized 我遇到的问题是 docker 容器内的性能非常差 不一致 我最终得到了响应 但我不明白为什么性能会下降 有时我会在日志中看到
  • 检查对象数组中的多个属性匹配

    我有一个对象数组 它们都是相同的对象类型 并且它们有多个属性 有没有办法返回一个较小的对象数组 其中所有属性都与测试用例 字符串匹配 无论该属性类型是什么 使用列表理解all http docs python org 3 library f
  • 如何在Python中正确声明ctype结构+联合?

    我正在制作一个二进制数据解析器 虽然我可以依靠 C 但我想看看是否可以使用 Python 来完成该任务 我对如何实现这一点有一些了解 我当前的实现如下所示 from ctypes import class sHeader Structure
  • Python将csv数据导出到文件中

    我有以下运行良好的代码 但我无法修剪数据并将其存储在数据文件中 import nltk tweets love this car this view amazing not looking forward the concert def g
  • 如何在 Numpy 中实现垃圾收集

    我有一个名为main py 它引用另一个文件Optimisers py它仅具有功能并用于for循环进入main py 这些函数都有不同的优化功能 This Optimisers py然后引用另外两个类似的文件 其中也只有函数 它们位于whi
  • 如何在 Spyder IDE 中安装 Selenium 包

    我刚刚在工作中安装了 Spyder IDE 仅 Spyder 不是整个 Anaconda 并且希望使用 FireFox 自动化我的工作 我的问题是 如何安装 Selenium 软件包 I figured it out Here is ins
  • Scrapy - 不会爬行

    我正在尝试运行递归爬行 由于我编写的爬行不能正常工作 因此我从网络上提取了一个示例并进行了尝试 我真的不知道问题出在哪里 但是爬行没有显示任何错误 谁能帮我这个 另外 是否有任何逐步调试工具可以帮助理解蜘蛛的爬行流程 非常感谢任何与此相关的
  • 如何在包更新之间保留数据文件?

    我正在使用data files的论证setuptools setup 将配置文件安装到 etc和用户主目录 但是更新包pip install
  • 从 subprocess.Popen 获取整个输出

    我通过调用 subprocess Popen 得到了一个有点奇怪的结果 我怀疑这与我对 Python 的陌生有很大关系 args cscript USERPROFILE tools jslint js USERPROFILE tools j
  • 通过子类化 `io.TextIOWrapper` 来子类化文件 - 但它的构造函数有什么签名?

    我正在尝试子类化io TextIOWrapper下列的这个帖子 https stackoverflow com a 23796737 974555 虽然我的目标不同 以此开始 注意 动机 https stackoverflow com a
  • 在 Gensim 中通过 ID 检索文档的字符串版本

    我正在使用 Gensim 进行一些主题建模 并且已经达到使用 LSI 和 tf idf 模型进行相似性查询的程度 我取回 ID 集和相似点 例如 299501 0 64505910873413086 如何获取与 ID 在本例中为 29950
  • python IDLE shell 似乎无法正确处理一些转义

    例如 b 退格键打印为四元 在下面的示例中显示为 但是 n 换行是可以的 gt gt gt print abc bd abc d gt gt gt print abc nd abc d 我在 Vista pro python 2 7 下运行
  • 将笔记本生成的 HTML 片段转换为 LaTeX 和 PDF

    在我的笔记本里有时会有 from IPython display import display HTML display HTML h3 The s is important h3 question of the day 但当我后来将笔记本

随机推荐

  • 将 ConfigurationManager 重定向到另一个文件

    我正在寻找重定向standard Net ConfigurationManager 类到另一个文件 entirely 该路径是在运行时确定的 因此我无法使用 configSource或类似的问题 这不是重复的问题 我已经看过其他问题 我本质
  • 如何将 CMake 输出放入“bin”目录?

    我目前正在构建一个具有插件结构的项目 我正在使用 CMake 来编译该项目 这些插件编译在单独的目录中 我的问题是 CMake 编译并将二进制文件和插件 动态库保存在源的目录结构中 如何让 CMake 将文件保存在类似 bin目录 正如奥列
  • 使用 Xoauth2 对 Gmail smtp 进行身份验证。结果用户名和密码不被接受

    由于最近删除了不太安全的应用程序 https support google com accounts answer 6010255 hl en并不想沿着一条路走下去应用程序密码 https support google com accoun
  • Windows操作系统中是否存在零拷贝?

    Reading 这篇零复制文章 http www ibm com developerworks library j zerocopy Windows 操作系统 服务器 2003 2008 2008 R2 中是否存在零拷贝 是的 它是通过以下
  • Angular:类型错误:无法读取 null 的属性“firstCreatePass”

    将 Angular 更新到版本 10 后 我看到此控制台错误 错误类型错误 无法读取 null 的属性 firstCreatePass 更新之前是不存在的 当使用自定义组件加载视图时会显示它 可能缺少什么 原来是因为我也更新了 ngx cu
  • 在 iPhone X 模拟器的顶部和底部看到黑条

    在 iPhone X 模拟器 GM Seed 中运行我的应用程序时 我注意到两个奇怪的效果 该应用程序不使用全屏空间 顶部和底部区域为黑色 标题栏下方有一个奇怪的白条 有谁知道这里发生了什么以及如何解决这个问题 我在 Interface B
  • 检查 T-SQL 中字符串的起始字符是否按字母顺序排列

    是否可以仅使用 TSQL 检查 varchar 字段的前两个字符是否按字母顺序排列 我需要选择my table只有具有的行my field以两个字母字符开头 我怎样才能实现这个目标 是否可以使用正则表达式 你不需要使用正则表达式 LIKE足
  • 为什么reactjs中的功能组件没有实例?

    In 反应快速入门 https facebook github io react docs refs and the dom html 有关于Refs and Functional Components that 您不能在功能组件上使用 r
  • HTTP 标头值的最大值?

    HTTP 标头是否有可接受的最大允许大小 如果是这样 那是什么 如果不是 这是特定于服务器的内容还是允许任何大小的标头的公认标准 不 HTTP 没有定义任何限制 然而 大多数网络服务器确实限制它们接受的标头的大小 例如在Apache 默认限
  • CSS/HTML:使文本斜体的正确方法是什么?

    是什么correct使文本斜体的方法 我见过以下四种方法 i Italic Text i em Italic Text em span class italic Italic Text span span class footnote It
  • (在Video.js中)如何设置自定义请求标头?

    遇到这个问题后 我根据以下内容编写了一个最小的示例本文档 https github com videojs http streaming hlsxhr
  • 向 Django 管理站点添加忘记密码功能

    如何将忘记密码功能添加到 Django 管理站点 有电子邮件 安全问题选项吗 有可用的插件 扩展吗 它们都是在 django 中构建的 只需添加相关的 url 模式即可 如下 from django contrib auth import
  • 使用 $ 运算符将两个括号链接在一起

    我有这个功能 min max 10 20 max 30 40 我可以将其重写为 min max 10 20 max 30 40 但是还有没有办法解决最后的括号呢 并不是说这还不够好 但我只是不能放弃这个想法 必须有某种方法可以做到这一点 如
  • 休眠序列不存在

    我尝试使用 spring 在我的项目中将 hibernate 从 4 升级到 54 2版本 升级后 当我调用更新方法时 我在堆栈跟踪中发现以下错误 10 53 32 185 ERROR TableStructure 149 could no
  • 在 WebView 中启用长按

    在浏览器中 您可以长按 URL 在我的 WebView 中 你不能 我怎样才能做到你也能做到 我也有同样的问题 不幸的是 我找不到一种方法来显示标准浏览器菜单选项 您必须自己实现每一项 我所做的是将 WebView 注册为上下文菜单acti
  • 通过 ingress 服务从 kubernetes pod 发送 http 请求到 Minikube 中的另一个 pod

    我在 Oracle VM Virtualbox 中使用 Minikube 单节点 Kubernetes 集群 节点中的一个 Pod 是基于 Next js 的客户端 其余 Pod 是不同的微服务 假设我的客户端 Pod1 需要在渲染之前向身
  • Firebase 数据库规则语法错误

    rules Users user id Grants write access to the owner of this user account whose uid must exactly match the key user id w
  • 如何自动生成创建或修改的时间戳字段?

    我的实体类 Entity Table name user public class User implements Serializable private static final long serialVersionUID 1L Id
  • Unity DI 从特定程序集自动注册

    我正在尝试使用 Unity Registration by Convention 功能 我不知道如何从特定的程序集 项目文件中注册以 Repository 结尾的文件 container RegisterTypes AllClasses F
  • 制作 python 程序发牌时遇到的麻烦。

    我想做一个纸牌游戏 我所坚持的是发牌 我所做的就是对每张卡制定一个指令 并赋予它一个值 因为有些卡比其他卡更有价值 我的想法是将字典分成4部分 或者将每本字典复印4份 然后从每份中删除39张卡片 每人留下13张卡片 这是否可能 或者我是否以