请问老师一下那个关于输出的问题?
-
import time, pyb, sensor, image, from machine import I2C from vl53l1x import VL53L1X from pyb import Servo UART LED sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA) sensor.skip_frames(time = 2000) sensor.set_auto_gain(True) sensor.set_auto_whitebal(True) i2c = I2C(2) s1=Servo(1) distance = VL53L1X(i2c) uart = UART(3, 19200) led1 = pyb.LED(1) led2 = pyb.LED(2) led3 = pyb.LED(3) clock = time.clock() while True: print("range: mm ", distance.read()) time.sleep_ms(50) dis=distance.read() if 609<dis<675: print("wu")#0 elif 530<dis<540: led1.on() led2.on() led3.on() clock.tick() img = sensor.snapshot() for r in img.find_rects(threshold = 23000): img.draw_rectangle(r.rect(), color = (255, 0, 0)) for p in r.corners(): img.draw_circle(p[0], p[1], 5, color = (0, 255, 0)) print(r.w()) print(r.h()) elif r.w() > r.h(): print("heng")#1 elif r.w()<r.h(): print("shu")#2 led1.off() led2.off() led3.off() elif 390<dis<400: led1.on() led2.on() led3.on() clock.tick() img = sensor.snapshot() for r in img.find_rects(threshold = 23000): img.draw_rectangle(r.rect(), color = (255, 0, 0)) for p in r.corners(): img.draw_circle(p[0], p[1], 5, color = (0, 255, 0)) print(r.w()) print(r.h()) elif r.w() > r.h():#heng #<通信前移> elif 530<dis<540: print("shanghengxiashu")#3 elif 669<dis<670: print("shangxiaheng")#4 #<通信复位> elif r.w()<r.h(): print("shu") s1.angle(30) time.sleep_us(2000) elif 530<dis<540: print("shangshuxiaheng")#5 s1.angle(0) elif 669<dis<670: print("shangxiashu")#6 led1.off() led2.off() led3.off()
老师我再三个if语句后边有注释0 1 2 3 4 5 6,意思是0肯定有,然后1 2符合条件输出一个,然后3 4 5 6 符合条件输出一个,最后需要输出一个就是0,1或者2,3456其中一个三个数字,怎么写一下,如果编程有问题麻烦老师指正一下蟹蟹老师
-
没看懂你说的逻辑。
-
嘿嘿 老师我说的啥意思呢 就是现在a=0,b=1或者2,c=3或者4或者5或者6,结果需要输出abc各个对应一个数字,打个比方就是0 2 5这样,0必出现的,1和2这个是有两种情况,输出一个,然后3456属于c,也属于4种情况,最后输出一个
-
改了10分钟,全是错误,实在没法改。
你把语法先学懂再说。