大家好,我有点难以解决这个问题。所以,如果我能得到任何帮助,我将非常感激。问题是;
创建函数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
感谢您的时间和解释。
答案 0 :(得分:1)
对于card_str(c)
,您需要转换value和suit(例如'Kh')的组合,并将其转换为更长的字符串。您需要创建包含以下内容的列表:
然后,您可以返回valdict[c[0]] + 'of' + suitdict[c[1]]
(参数的长值名称中的第一个元素+参数的长套装名称中的第二个元素)。
对于hand_str(c)
,请获取您拥有的卡名称列表,并通过迭代c
并在hand_str
的每个元素上调用c
来构建新列表。然后返回新列表。
由于这是作业,我将把实施留给你。如果您遇到问题,请查看Python docs。
答案 1 :(得分:1)
您之前使用过python词典吗?我可能会尝试类似下面的内容。
rank_dict = {"A" : "Ace", "K" : "King", "Q" : "Queen", "J" : "Jack",....}
suit_dict = {"h" : "Hearts", "s" : "Spades", "c" : "Clubs", "d" : "Diamonds"}
然后你可以做类似下面的事情。
card_string = "Kh"
print(rank_dict[card_string[0:1]] + " of " + suit_dict[card_string[1:]])
答案 2 :(得分:0)
开始使用的好地方是写出部分或全部输入输出对。
所以你可以从:
开始Kh king of hearts
As ace of spades
...
一旦你有了这张桌子,你就能找到共性;模式。一旦找到,请编码!