[英]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.