我无法自动化可变数量的循环。 我有一个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):
但是有很多盒子可以写作。
有人有想法吗? 谢谢你!
答案 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
元素的元组。