无法弄清楚嵌套的 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 = 0
和use_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()
实例,因此总共有四个实例。
我正在尝试找出我在网上找到的这段代码。我不明白嵌套循环实际上是如何在这个特定的 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 = 0
和use_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()
实例,因此总共有四个实例。