Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.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_List_Loops_Combinations - Fatal编程技术网

正在寻找一种在python中检查四个骰子的所有可能组合的方法

正在寻找一种在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

我有一个单独的列表(或者是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 = 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)