簡體   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