嵌入可变数量的循环

时间:2017-08-06 13:11:04

标签: python

我无法自动化可变数量的循环。 我有一个tkinter界面,带有一些复选框。 必须有与复选框一样多的循环。 例如,如果检查了2个框,则我的代码必须是:

For i in range(a1,a2):
  For j in range(b1,b2):

如果选中3个框:

 For i in range(a1,a2):
  For j in range(b1,b2):
   For k in range(c1,c2):

所以这个想法将是:

If box1 is checked:
  For i in range(a1,a2):
    If box2 is checked:
      For j in range(b1,b2):

但是有很多盒子可以写作。

有人有想法吗? 谢谢你!

1 个答案:

答案 0 :(得分:0)

使用itertools.product

possible_ranges = [range(a1, a2), range(b1, b2), range(c1, c2)]
for t in itertools.product(*possible_ranges[:num_boxes_checked]):
    ...

t将是一个包含num_boxes_checked元素的元组。