gpt4 book ai didi

python - 无法弄清楚嵌套的 for 循环部分以及它在这段代码中是如何工作的

转载 作者:行者123 更新时间:2023-12-01 07:44:45 26 4
gpt4 key购买 nike

我正在尝试找出我在网上找到的这段代码。我不明白嵌套循环实际上如何在这个特定的 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()

最佳答案

如果我正确地阅读了您的问题,您会想知道如何使用以下循环语句来结束我们的迭代。

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() 实例,因此总共有四个实例。

关于python - 无法弄清楚嵌套的 for 循环部分以及它在这段代码中是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56516473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com