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