2. 语言参考

2.3. while……continue

使用continue语句,我们可以跳过当前循环,继续下一次循环。

如图所示的一套虚拟装置,包括一个Arduino UNO控制器,一个旋转齿轮,一个触摸按钮。

  • 控制器的数字引脚D3连接到旋转齿轮,输出功率控制信号,高电平为转动,低电平为待机。
  • 控制器的数字引脚D2连接到触摸按钮,当无人触摸时,输入高电平信号,当有人触摸时,输入低电平信号。

编写一个Python程序,使旋转齿轮从慢到快逐渐加速,达到最快时,再从快到慢逐渐减速,直到停止,重复这一周期运动。当触摸按钮断开时,读取数字引脚D2的read(D2)语句返回数值1。

当用户用鼠标触摸按钮时,read(D2)语句返回数值0。此时,程序立即保持齿轮的转速,既不加速也不减速。

talkto(D3)
setpower(0)
on()
s = 0
direction = 1
while True:
    if read(D2) == 0:
        continue
    if s >= 1:
        direction = -1
    elif s <= 0:
        direction = 1
    s += 0.0001 * direction
    setpower(s)    


🖥️