嵌套循环的中断缩进
Break indentation for nested loop
我在嵌套 for 循环中断方面遇到了麻烦。
进一步的代码假设找到特定颜色的像素,该示例包含在打开的文件中,步骤 50
沿着 x
和 20
沿着 y
:
im1 = Image.open("C:\Users\Poos\Desktop\G\green_pixel.bmp")
A = list(im1.getdata())
x = 0
y = 0
im2 = ImageGrab.grab()
B = list(im2.getdata())
for x in range(0,1024, 50):
for y in range(0,600, 20):
if(B != A):
im3 = im2.crop((x,y,x+1,y+1))
B = list(im3.getdata())
print(x, y)
else:
print("hooray!")
break
break
一旦检测到像素,两个循环都应该中断,打印一些文本。
但是 x-loop 不会在放置外部中断的任何地方中断,多次打印我的文本。
看来我已经尝试了所有可能的外部中断位置变体,但没有任何效果。
这里有什么问题?
考虑将代码放入函数中并使用 return 语句跳出所有循环。
def func():
im1 = Image.open("C:\Users\Poos\Desktop\G\green_pixel.bmp")
A = list(im1.getdata())
x = 0
y = 0
im2 = ImageGrab.grab()
B = list(im2.getdata())
for x in range(0,1024, 50):
for y in range(0,600, 20):
if(B != A):
im3 = im2.crop((x,y,x+1,y+1))
B = list(im3.getdata())
print(x, y)
else:
print("hooray!")
return
return
我在嵌套 for 循环中断方面遇到了麻烦。
进一步的代码假设找到特定颜色的像素,该示例包含在打开的文件中,步骤 50
沿着 x
和 20
沿着 y
:
im1 = Image.open("C:\Users\Poos\Desktop\G\green_pixel.bmp")
A = list(im1.getdata())
x = 0
y = 0
im2 = ImageGrab.grab()
B = list(im2.getdata())
for x in range(0,1024, 50):
for y in range(0,600, 20):
if(B != A):
im3 = im2.crop((x,y,x+1,y+1))
B = list(im3.getdata())
print(x, y)
else:
print("hooray!")
break
break
一旦检测到像素,两个循环都应该中断,打印一些文本。
但是 x-loop 不会在放置外部中断的任何地方中断,多次打印我的文本。
看来我已经尝试了所有可能的外部中断位置变体,但没有任何效果。
这里有什么问题?
考虑将代码放入函数中并使用 return 语句跳出所有循环。
def func():
im1 = Image.open("C:\Users\Poos\Desktop\G\green_pixel.bmp")
A = list(im1.getdata())
x = 0
y = 0
im2 = ImageGrab.grab()
B = list(im2.getdata())
for x in range(0,1024, 50):
for y in range(0,600, 20):
if(B != A):
im3 = im2.crop((x,y,x+1,y+1))
B = list(im3.getdata())
print(x, y)
else:
print("hooray!")
return
return