Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中生成一副卡片_Python - Fatal编程技术网

如何在Python中生成一副卡片

如何在Python中生成一副卡片,python,Python,如何在Python中以列表格式最高效地生成一组52张卡片,使列表如下所示: [“黑桃1”、“红桃1”、“梅花1”、“钻石1”、“黑桃2”、“红桃2”等。以列表格式轻松(高效)生成一副牌,您可以键入: deck=[str(x)+y代表x在范围(1,14)内,y代表y在[“S”、“H”、“C”、“D”]] - 当您print(deck)时,您将得到如下输出: ['1S','1H','1C','1D','2S','2H','2C','2D','3S','3H','3C','3D',…. - 例如,要将

如何在Python中以列表格式最高效地生成一组52张卡片,使列表如下所示:

[“黑桃1”、“红桃1”、“梅花1”、“钻石1”、“黑桃2”、“红桃2”等。

以列表格式轻松(高效)生成一副牌,您可以键入:

deck=[str(x)+y代表x在范围(1,14)内,y代表y在[“S”、“H”、“C”、“D”]]

-

当您
print(deck)
时,您将得到如下输出:

['1S','1H','1C','1D','2S','2H','2C','2D','3S','3H','3C','3D',….

-

例如,要将输出从
“3C”
更改为类似
“3个俱乐部”
,请更改

[“S”、“H”、“C”、“D”]
[“黑桃”、“红桃”、“梅花”、“钻石”]

-

这将使您的列表看起来像:
[“黑桃1”、“红桃1”、“梅花1”、“钻石1”、“黑桃2”、“红桃2”等等。

-


注意:最初的示例可能是最短的…

我更喜欢下面的代码,就像Python中的可读性计数一样

>>> faces = range(2,11) + ["King","Queen","Jack","Ace"]
>>> colour = ["Spades", "Hearts", "Clubs", "Diamonds"]
>>> from itertools import product
>>> ["{} of {}".format(*card) for card in product(faces, colour)]

使用产品(面、颜色)中f、c的{}格式(f、c){code>[{}]
和第一个答案一样复杂,在我看来,如果不是更复杂的话,那就是有一个导入的模块需要处理。这一套只提供12张卡,一套卡的最低值是
2
,并且脸卡的顺序不正确……但在其他方面这看起来相当不错:-)@DavidK:导入的模块不是什么好东西你必须“抗争”.Modules是Python存储其功能的地方。@DSM所说的“抗衡”,我的意思是,在理解模块的正确用法之前,您需要研究模块的各个部分,而对于这个答案,for循环也会做同样的事情,这使得模块不再需要example@DavidK.itertools太不可思议了,我想每个人都需要赢得它。看看这个答案。它是如此的干净整洁。所以Python我认为如果你玩13个黑桃,穿西装的大个子会和你说几句话。如果你也想引用图像名称,这可能很有用,例如,
13C.jpg
8D.gif
等。存储“黑桃”而不仅仅是“黑桃”IMHO很难看。然后你就遇到了DSM指出的问题。如果你需要某种卡ID,那么你应该用其他方法来解决这个问题。@DavidK:我建议你读一本好的Python书,或者阅读整个Python教程。然后你就会了解库中包含的巨大资源。正如其他人所说,
itertools
是一个很棒的图书馆,你对它了解得越多,你就会越喜欢它。
>>> suits = ['spades', 'hearts', 'diamonds', 'clubs']
>>> faces = ['ace'] + range(2, 11) + ['jack', 'queen', 'king']
>>> deck = ['%s of %s'%(f, s) for f in faces for s in suits]