首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在循环中使用for in和if语句

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

Stack Overflow用户
提问于 2021-01-14 22:29:45
回答 2查看 51关注 0票数 0

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

材料:

Pycom Lopy4 + 3.0扩展板、Flexiforce称重传感器、LoRa

这是我现在的代码:

代码语言:javascript
复制
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()

我想要实现什么?

如下所示:

代码语言:javascript
复制
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()“是我的读数,我想把它用作一个变量。所以如果值变得更高,它就说明了这一点。

工作代码:

代码语言:javascript
复制
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()

提前感谢大家的帮助!

致以亲切的问候!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-14 22:35:28

我认为您希望while循环重复调用apin,直到它返回一个小于50的值。

代码语言:javascript
复制
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")
票数 2
EN

Stack Overflow用户

发布于 2021-01-14 22:32:32

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

代码语言:javascript
复制
for x in val:
   if x > 50:
       print(val)
       print('Value too high')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65720914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档