繁体   English   中英

如何在循环中使用 for in 和 if 语句

[英]How to use for in and if statement with loop

我对变量和语句有点问题。 所以我正在做一个项目,我必须使用不同的语句。

材料:

Pycom Lopy4+3.0扩展板,Flexiforce重量传感器,LoRa

现在这是我的代码:

import pycom
import machine
import time

############### Weightsensor ###############
def main():
    adc = machine.ADC()             # create an ADC object
    apin = adc.channel(pin='P16')   # create an analog pin on P16
    val = apin()                    # read an analog value

    if val < 50:
        print(val)
        print("Value to high")
        time.sleep(5)

if __name__ == "__main__":
    main()

我想达到什么目的?

像这样:

def main():
    while True:
        adc = machine.ADC()             # create an ADC object
        apin = adc.channel(pin='P16')   # create an analog pin on P16
        val = apin()                    # read an analog value

        if val < 20:
            print(val)
            print("Value to high")
            time.sleep(2.5)


if __name__ == "__main__":
    main()

但我不知道它是如何工作的,因为“val = apin()”是我的读数,我想将其用作变量。 因此,如果价值变得更高,它就会这么说。

工作代码:

def main():
    while True:
        adc = machine.ADC()             # create an ADC object
        apin = adc.channel(pin='P16')   # create an analog pin on P16
        val = apin()                    # read an analog value

        if val < 20:
            print(val)
            print("Weight is good")
            time.sleep(2.5)
        if val > 20:
            print(val)
            print("Weight is to high")
            time.sleep(2.5)



if __name__ == "__main__":
    main()

提前感谢您的帮助!

亲切的问候!

我想你想要一个while循环来重复调用apin直到它返回一个小于 50 的值。

def main():
    adc = machine.ADC()             # create an ADC object
    apin = adc.channel(pin='P16')   # create an analog pin on P16    
    while True:
        val = apin()
        if value > 50:
            break
        print(val)
        print("Value not high enough")
        time.sleep(5)

    print("Now value is high enough")

如果要比较val中的每个元素,则:

for x in val:
   if x > 50:
       print(val)
       print('Value too high')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM