我可以使用这样的循环遍历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)
如何使用itertools为N dice做这个?
答案 0 :(得分:4)
这是itertools.product
的用途。
for dice in itertools.product(range(1, 7), repeat=N):
dosomething(sum(dice))