2016-09-08 85 views
0

我可以通過的1,2,或3 6面骰子的所有組合中包含這些循環迭代:python itertools:如何滾動N個骰子?

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

回答

4

這是itertools.product的用途。

for dice in itertools.product(range(1, 7), repeat=N): 
    dosomething(sum(dice))