如何在循环中使用 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()
提前感谢您的帮助!
亲切的问候!
如果要比较val
中的每个元素,那么:
for x in val:
if x > 50:
print(val)
print('Value too high')
我想你想要一个 while
循环来重复调用 apin
直到它 returns 一个小于 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")
我对变量和语句有点问题。 所以我正在做一个项目,我必须使用不同的语句。
材料:
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()
提前感谢您的帮助!
亲切的问候!
如果要比较val
中的每个元素,那么:
for x in val:
if x > 50:
print(val)
print('Value too high')
我想你想要一个 while
循环来重复调用 apin
直到它 returns 一个小于 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")