Python卡显示

2024-03-28 12:34:03 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Poker hand string display

嗨,所有我有点困难的时间来解决这个问题。因此,如果我能得到任何帮助,我将不胜感激。问题是

创建函数card_str(c)和hand_str(h),它们返回一张卡片的字符串版本和一个 分别是卡片。一张卡片是由两个字符组成的字符串:一个等级后跟一个西装。手是一张清单 卡。在

>>> print card_str("Kh")
king of hearts
>>> print hand_str([’Kh’, ’As’, ’5d’, ’2c’])
king of hearts, ace of spades, five of diamonds, deuce of clubs

谢谢你的时间和解释。在


Tags: of字符串stringdisplay时间cardprinthand
3条回答

你以前使用过python字典吗?我可以试试下面的东西。

rank_dict = {"A" : "Ace", "K" : "King", "Q" : "Queen", "J" : "Jack",....}
suit_dict = {"h" : "Hearts", "s" : "Spades", "c" : "Clubs", "d" : "Diamonds"}

然后你可以做如下的事情。

^{pr2}$

一个好的开始是写出一些或全部的输入输出对。在

所以你可以从以下几点开始:

Kh king of hearts
As ace of spades
...

一旦你有了那张表,你就可以找到共同点:模式。一旦你找到了,就把它编码!在

对于card_str(c),您需要转换value和suit的组合('Kh',例如),并将其转换为一个较长的字符串。您需要创建包含以下内容的列表:

  1. 映射短值的字典(例如“K”或“A”到长名称、“King”和“Ace”)
  2. 一种将短西装名称映射为全名的dict(“c”用于俱乐部等)

然后可以返回valdict[c[0]] + 'of' + suitdict[c[1]](参数长值名称中的第一个元素+参数的长套装名称中的第二个元素)。在

对于hand_str(c),获取您拥有的卡名列表,通过迭代c并调用c的每个元素来构造一个新列表。然后把你的新名单还给我。在

既然这是家庭作业,我就把实现交给你。如果你被卡住了,看看Python docs。在

相关问题 更多 >