我想从给定的[‘法国-德国’游戏列表中生成可能性的总数。 这样总的结果将是3个可能的结果对于这种情况{要么主队赢,要么平局,要么客队赢}。你知道吗
1 FRANCE - GERMANY 1 2 FRANCE - GERMANY x 3 FRANCE - GERMANY 2
另一个例子是[‘法国-德国’,‘西班牙-意大利’]
1 FRANCE - GERMANY 1 SPAIN - ITALIA 1 2 FRANCE - GERMANY 1 SPAIN - ITALIA x 3 FRANCE - GERMANY 1 SPAIN - ITALIA 2 4 FRANCE - GERMANY x SPAIN - ITALIA 1 5 FRANCE - GERMANY x SPAIN - ITALIA x 6 FRANCE - GERMANY x SPAIN - ITALIA 2 7 FRANCE - GERMANY 2 SPAIN - ITALIA 1 8 FRANCE - GERMANY 2 SPAIN - ITALIA x 9 FRANCE - GERMANY 2 SPAIN - ITALIA 2
下面是我的代码
import itertools
games = ['France - Germany']
case = ["1","X","2"]
results = []
for eachcase in case:
for game in games:
results.append("%s %s" % (game, eachcase))
print("\n".join(results)+ "\n %s" %len(results))
列表中项目的输出为
France - Germany 1
France - Germany X
France - Germany 2
这很好,但随着列表中项目数的增加,它就不起作用了。如果您有任何帮助,我们将不胜感激(提前感谢:)
对于给定的游戏列表,我们可以使用
itertools.product
来实现:例如:
通过列表理解,您可以轻松做到这一点:
如果您想要更通用的方法,itertools模块中的product函数也可以帮助您:
您可以将^{} 与repeat参数一起使用,以创建与游戏总数一样多的游戏结果产品。你知道吗
输出:
相关问题 更多 >
编程相关推荐