无法弄清楚嵌套的 for 循环部分及其在此代码中的工作方式

Can't figure out the nested for loop part and how does it work in this code

我正在尝试找出我在网上找到的这段代码。我不明白嵌套循环实际上是如何在这个特定的 tkinter 程序中提供结果的(四种情况)。 为了理解它,我在关键部分使用了 print 语句,但我越深入就越感到困惑。

有人可以解释一下代码是如何工作的吗?

from tkinter import *

class App:
    def __init__(self, root, use_geometry, show_buttons):
        fm = Frame(root, width=300, height=200, bg="blue")
        fm.pack(side=TOP, expand=NO, fill=NONE)

        if use_geometry:
            root.geometry("600x400") ### (1) Note geometry Window Manager method


        if show_buttons:
            Button(fm, text="Button 1", width=10).pack(side=LEFT)
            Button(fm, text="Button 2", width=10).pack(side=LEFT)
            Button(fm, text="Button 3", width=10).pack(side=LEFT)

case = 0
for use_geometry in (0, 1):
    for show_buttons in (0,1):
        case = case + 1
        root = Tk()
        root.wm_title("Case " + str(case)) ### (2) Note wm_title Window Manager method
        display = App(root, use_geometry, show_buttons)
        root.mainloop()

如果我没看错你的问题,你想知道如何用以下 loop-statement.

结束我们的迭代
for use_geometry in (0, 1):
    for show_buttons in (0,1):

原因是对于use_geometry = 0use_geometry = 1我们都会运行内部循环导致以下四种情况:

# First outer iteration, first inner
{ use_geometry = 0, show_buttons = 0 }

# First outer iteration, second inner
{ use_geometry = 0, show_buttons = 1 }

# Second outer iteration, first inner
{ use_geometry = 1, show_buttons = 0 }

# Second outer iteration, second inner
{ use_geometry = 1, show_buttons = 1 }

# Done

一共四种组合。对于这四种组合中的每一种,您都在创建一个新的 Tk()App() 实例,因此总共有四个实例。