Python:非此即彼

Python:非此即彼,python,if-statement,for-loop,break,turtle-graphics,Python,If Statement,For Loop,Break,Turtle Graphics,最奇怪的事情发生了。这是不言自明的;给你 for sublist in uses: print("for sublist in uses") print(uses) if (sublist[1] == 2): print("sublist[1] = 2") count = 1 break else: turtle.exitonclick() print("sublist[1] ≠

最奇怪的事情发生了。这是不言自明的;给你

for sublist in uses:
    print("for sublist in uses")
    print(uses)
    if (sublist[1] == 2):
        print("sublist[1] = 2")
        count = 1
        break
    else:   
        turtle.exitonclick()
        print("sublist[1] ≠ 2?", uses)
        break
print("*")
这就产生了:

for sublist in uses
[[(-100.00,-0.00), 1], [(0.00,0.00), 2], [(100.00,0.00), 1]]
然后它停止了。在我再次点击海龟图形窗口后

sublist[1] ≠ 2? [[(-100.00,-0.00), 1], [(0.00,0.00), 2], [(100.00,0.00), 1]]
*
exitonclick()
调用tkinter中的
mainloop()
(类似于无限循环),它将保持turtle窗口打开,直到您单击画布中的任何位置。尝试将其切换到:

for sublist in uses:
    print("for sublist in uses")
    print(uses)
    if (sublist[1] == 2):
        print("sublist[1] = 2")
        count = 1
        break
    else:   
        print("sublist[1] ≠ 2?", uses)
        break
print("*")
turtle.exitonclick()

对于循环中的第一个子列表,
sublist[1]
1
。此时,您将执行
turtle.exitonclick
,等待单击;然后打印出预期的结果。由于使用显示的数据出现了
中断

,您永远无法进入第二个
子列表
子列表[1]
为1;它看起来像是海龟。exitonclick()会暂停,直到单击为止。