【问题标题】:Looking for a way to check all possible combinations of four dice in python寻找一种方法来检查python中四个骰子的所有可能组合
【发布时间】:2020-06-01 09:12:06
【问题描述】:

我有一个包含四个整数元素的列表(或可迭代的,我对 Python 很陌生,所以我不知道有什么区别),每个元素的范围从 1 到 6,包括 6。我的程序是本质上是一个骰子游戏,它会检查很多不同的条件,我不完全确定它们是否都能正常工作。

我想检查所有可能的骰子组合以调试程序。

示例:第一个循环[1, 1, 1, 1] -> 第二个循环[1, 1, 1, 2] ---> 第七个循环[1, 1, 2, 1]

【问题讨论】:

    标签: python list loops combinations


    【解决方案1】:

    您可以使用itertools.product

    • 你已经有了值列表

      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骰子

      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)]
    

    【讨论】:

    • 快速回复!代码仍然不完整(我必须弄清楚如何将每个组合放入我的骰子列表中)但这让我走上了正轨,谢谢!
    【解决方案2】:
    from itertools import product
    for l in product(range(1,7), repeat=4):
       # do something with l, for example print(l)
    

    【讨论】:

    • 请添加一个简短的解释。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    • 2013-02-15
    • 2011-08-10
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    • 2021-04-11
    相关资源
    最近更新 更多