正在寻找一种在python中检查四个骰子的所有可能组合的方法
我有一个单独的列表(或者是iterable,我对Python很陌生,所以我不知道区别是什么),它包含四个整数元素,每个元素的范围从1到6,包括6。我的程序本质上是一个骰子游戏,检查许多不同的条件,我不完全确定它们是否都正常工作 我想检查每个可能的骰子组合,以便调试程序 示例:第一个循环正在寻找一种在python中检查四个骰子的所有可能组合的方法,python,list,loops,combinations,Python,List,Loops,Combinations,我有一个单独的列表(或者是iterable,我对Python很陌生,所以我不知道区别是什么),它包含四个整数元素,每个元素的范围从1到6,包括6。我的程序本质上是一个骰子游戏,检查许多不同的条件,我不完全确定它们是否都正常工作 我想检查每个可能的骰子组合,以便调试程序 示例:第一个循环[1,1,1,1]->第二个循环[1,1,1,2]->第七个循环[1,1,2,1]您可以使用 您已经有了值列表 values = [list(range(1, 7)) for _ in range(4)] res
[1,1,1,1]
->第二个循环[1,1,1,2]
->第七个循环[1,1,2,1]
您可以使用
- 您已经有了值列表
values = [list(range(1, 7)) for _ in range(4)] res = product(*values) # * to flatten and pass the 4 dices as separate parameters print(list(res))
- 直接传递一个
值,并指定您有dice
4个
dice
res = product(range(1, 7), repeat=4) print(list(res))
[(1, 1, 1, 1), (1, 1, 1, 2), (1, 1, 1, 3), (1, 1, 1, 4), (1, 1, 1, 5), (1, 1, 1, 6),
(1, 1, 2, 1), (1, 1, 2, 2), ...
(6, 6, 6, 1), (6, 6, 6, 2), (6, 6, 6, 3), (6, 6, 6, 4), (6, 6, 6, 5), (6, 6, 6, 6)]
快速回复!代码仍然不完整(我必须弄清楚如何将每个组合放入我的骰子列表),但这让我走上了正确的轨道,谢谢!请补充一个简短的解释。
from itertools import product
for l in product(range(1,7), repeat=4):
# do something with l, for example print(l)