python程序里面存在一个问题

我编辑了一个脚本如下:


                                       if ret ==0:
                                            count+=1
                                       if color>160:
                                            print(2)
                                            a=count
                                      b=count-a
                                      if b ==3:
                                               启动gpio

光电传感器得到一次信号,ret就会置一次零,我相当于是利用count对光电传感器感应的次数进行计数,但是我现在是识别物体的颜色,通过color这个变量判断物体是什么颜色,光电每给一次信号,就会有一个color值,现在我想要达到的目的是,当我当前的color值大于160时,我要再等光电传感器得到3次信号时我再启动gpio,我在满足color大于160的条件时,记下当下的count值是多少,用b变量表示当前的count值减去之前满足if条件的count值,也就是相当于当满足if条件后,我想再得到三次光电信号时再启动gpio,但是目前的问题是,如果我当第一次ret等于零时就满足了color大于160的条件,我紧接着当第二次ret等于零时又满足了条件,我的变量a不是一个固定的数了,这样就不准确了,请问一下大家有什么解决办法。


'''
不具体了解你的逻辑,全当抛砖引玉吧
每次光电信号ret置零,
并同时有一个color
当color大于160,需要再接受3次信号,这三次信号不管color值大不大于160,都改变gpio

'''
count=0
m=0
if color >160:
    m=1
if ret==0 and m==1:
    count+=1
    if count==3:
        # 启动gpio命令
        m=0