我在做一个程序,创建一组卡片,然后打印出来,这是目前为止运作良好。然而,我一直不知道如何存储每一张卡的方式,一套数量的卡,或个人卡,可以比较到另一套。你知道吗
我用来“抽”牌的功能是:
def TableHand():
print("Table Hand:")
for i in range(0,5):
print(RandomCardDraw(), "of", RandomHouseDraw())
函数“RandomCardDraw”和“RandomHouseDraw”都只是绘制一个随机数和一个随机房子。你知道吗
我想对最终的打印结果进行排序,例如-7个红心,然后是列表/字典中的下一张“卡片”或者其他可以让我将“表格”与用户手进行比较的东西??你知道吗
Idk如果这是可能的,因为方式编码我以前的功能或没有?如果需要更多的信息来回答我可以提供XD。你知道吗
谢谢。你知道吗
你可以在手之前生成一副卡片,这会使分类更容易,并且确保你没有任何重复的卡片,因为如果你不先检查就动态生成它们,这是一种可能性。你知道吗
这是我以前做过的,suits变量包含d代表钻石,h代表红心等等。等级是以同样的方式打印出来的。现在是主要部分,甲板。deck变量将是list类型,其中每个项都是deck中的一张卡。
itertools.product()
遍历秩和suits,并将它们连接在变量item
的元组中。.join()
取下每个项目,将等级和套装连接在一起,用破折号将它们分开。你知道吗要随机选择一张牌,你可以从牌堆中随机选择一个项目,并确保将其移除。你知道吗
现在是棘手的部分,整理卡片。您可以创建第二个函数,为每张卡分配一个值。你知道吗
您可以通过向下查找字符串并为每个列添加值来完成此函数。这将为您提供每张卡的排序数字。你知道吗
希望这是有用的。你知道吗
print
只是用来展示东西,而不是用来存储东西。下面是如何将所有卡片(每个卡片由两个元素组成的元组表示)放入一个集合并检索它:(这是一个很好的地方,但我认为你还没有准备好)
Alex Hall提供了一个很好的答案,我想就您提到的一些特定数据类型展开讨论:
列表
如果只想将元组放入列表中,请执行以下操作:
列表非常容易迭代并对其执行各种操作。正如Alex所说,你可能还没有准备好理解set,所以一个列表可能是一个更合适的开始。你知道吗
字典
将卡片作为一组存储在字典中可能是一种不好的方法。字典很适合用来表示更像单个对象而不是对象集合的事物。你真的需要知道你将要得到多少元素,并且必须有一个命名它们的标准方法,所以动态地这样做是乏味的,而不是真正为字典设计的。然而。。。你知道吗
词典列表
与其将卡存储为元组,还可以执行以下操作:
NB:我假设你想给这些元素取一个名字,“数字”和“房子”。
有了字典列表,你的理解和操作就更容易了,因为你要找的东西更容易获取。在本例中,您可以使用
first_card = hand[0]
获得返回的第一张卡片,然后使用house = first_card["house"]
获得房子(或者您在字典中命名的任何东西)。你知道吗排序和比较
有一些方法可以对列表进行排序,并将它们与其他列表进行比较——实际上,在你的案例中,这甚至可能不会那么困难。但最简单的方法可能是用集合理解,在这种情况下,你应该用亚历克斯建议的解决方案来解决问题。你知道吗
相关问题 更多 >
编程相关推荐