Mar*_*son 1 python python-itertools
我可以使用如下循环迭代 1、2 或 3 个 6 面骰子的所有组合:
for a in range(1, 7): # one die
sum = a
dosomething(sum)
for a in range(1, 7): # two dice
for b in range(1, 7):
sum = a + b
dosomething(sum)
for a in range(1, 7): # three dice
for b in range(1, 7):
for c in range(1, 7):
sum = a + b + c
dosomething(sum)
Run Code Online (Sandbox Code Playgroud)
如何使用 itertools 对 N 个骰子执行此操作?
这就是itertools.product目的。
for dice in itertools.product(range(1, 7), repeat=N):
dosomething(sum(dice))
Run Code Online (Sandbox Code Playgroud)