调试并以脚本形式运行时,同一程序获得不同的输出

时间:2018-03-25 03:42:15

标签: python python-3.x python-2.7

对于样本图片,执行后start的值应为7, 但在以脚本形式运行时给出输出0。 调试时,它会给出正确的结果

def startdetection(start):
    i = 0
    while( i < coloumn):
        pixel = image.getpixel((i,start))[0]
        if pixel ==0:
            return
        elif i == coloumn-1:
            start = start +1
            i = 0
        else:
            i = i+1
    end = start + 38

startdetection(0)

print(start)

1 个答案:

答案 0 :(得分:0)

函数中的参数start和名为start的任何全局变量都是不同的变量。修改函数内的函数不会影响全局函数。

比在函数中修改全局变量更好的方法是使用return start从函数返回适当的值。