python - 要比较的排名卡
问题描述
我创建了一个名为 Deck 的类来表示 Python 中的一副扑克牌。除了小丑之外,我在其中制作了所有牌的牌堆。我正在尝试制作一个中间游戏,我必须在其中比较值。
["2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "JC",
"QC", "KC", "AC", "2D", "3D", "4D", "5D", "6D", "7D", "8D",
"9D", "10D", "JD", "QD", "KD", "AD", "2H", "3H", "4H", "5H",
"6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH", "AH", "2S",
"3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS",
"KS", "AS"]
这是卡片列表。我如何对这些进行排名,例如,2C 小于 3C 或 4D 但与 2H 或 2S 相同?
我想知道我是否可以使用 OrderedEnum,但同时在此过程中为 2C、2D、2H、2S 分配相同的排名。
我希望当我使用“发牌”方法时,我希望能够比较两张发牌。
解决方案
这将按照描述的顺序生成你的牌组的副本,假设 A 低(移动A
到字符串的末尾以使 A 高):
sorted(deck,key=lambda x:"A234567891JQK".index(x[0]))
推荐阅读
- google-api - Google People API - 获取联系方式(批量)
- typescript - 如何在 TypeScript 中定义索引签名,但值不使用联合类型?
- continuous-integration - 高可用性基础架构 CI/CD 管道
- ansible - 使用 ansible playbook 更改 ssh 端口
- flutter - Stream Chat Flutter 应用程序未显示我的频道
- flutter - 循环如何在颤振中工作
- python - 嗨,我刚开始学习python。如何替换字符串中的字符
- npm - 为双目录项目运行 NPM 监视脚本
- debugging - 如何在 PyCharm 中向后调试?
- php - 仅当用户角色和元键存在时才显示特定的 WooCommerce 产品并隐藏其余产品