之前的两篇文章《A、B按钮控制数字的增减、循环》和《(续篇)体感控制数字的增减、循环》,都是使用MakeCode图形化编程语言实现功能的。其实,我们都清楚,文本型编程语言在处理较复杂的程序时,看上去逻辑反而更加清晰、明白。接下来,我们学习如何使用Python语言来编程实现:使用两个按钮A、B,或者使用三维加速度计,控制数字0~9的增减、循环。迁移到Python编程上,拓展一下如何使用Python给micro:bit编程的知识,这种感觉就像站在更高的地方,可以欣赏到更多的美景,非常快乐!不多说了,开始编程吧!
活动1 按钮A控制数字0~9递增、循环
from microbit import * i=0 display.show(str(i)) while True: if button_a.was_pressed(): i+=1 if i>9: i=0 display.show(str(i))
编程步骤:
01 导入microbit的一系列“功能”,如display(显示)文本、表情图片的功能。
from microbit import *
02 变量初始化。
i=0
03 在屏幕上显示变量i,完成所有准备工作(实现按钮交互前的初始化)。
display.show(str(i))
注意:这里display.show(文本),括号内显示的是“文本”。因此需要将整数型变量i数据类型转换成文本型,方法为str(i)。
04 加入无限循环,为了无限次、实时扫描按钮A的状态。
while True:
05 在循环结构中嵌入条件(分支)结构(嵌套),条件为当按钮A被按下。
if button_a.was_pressed():
06 在分支结构中,要完成三件任务。
①变量i自增1,实现递增。
i+=1
注意这里不可以写i++,C语言最熟悉的这种方法不可以用!
②再嵌入一个条件(分支)结构,用来完成数字的循环(不进位)。
if i>9: i=0
这里的条件i>9也可以改为i>=10,在整数情况下,两者等价。
③显示递增后的数字结果。
display.show(str(i))
编程完毕,运行调试。
通过学习活动1,并且在之前已经学习了《A、B按钮控制数字的增减、循环》和《(续篇)体感控制数字的增减、循环》的情况下,可以尝试自己研究、编程实现活动2、活动3的功能效果。
活动2 按钮A、B控制数字0~9的增减、循环
程序如下:
from microbit import * i=0 display.show(str(i)) while True: if button_a.was_pressed(): i-=1 if i<0: i=9 if button_b.was_pressed(): i+=1 if i>9: i=0 display.show(str(i))
活动3 体感(加速度计)控制数字0~9的增减、循环
程序如下:
from microbit import * i=0 display.show(str(i)) while True: if accelerometer.get_x()<-500: i-=1 if i<0: i=9 display.show(str(i)) sleep(500) elif accelerometer.get_x()>500: i+=1 if i>9: i=0 display.show(str(i)) sleep(500)
补充说明:
可以用
import microbit as m
替换
from microbit import *
import…as…的解释说明:
import A as B
这句语句的意义为:给予A库一个B的别称,这是为了帮助程序员记忆。
当有了“别称”后,接下来就会有形式上的区别:
用import A as x 替换 from A import b ,但接下来就要将原来的b就要写成写成x.b的形式了
improt A as m,形式就是m.b
可能这个内容有一些抽象、难于马上理解,但基本上就是多一个别称而已,通过看转变后的程序,很快就能理解。
等价的程序如下:
import microbit as m i=0 m.display.show(str(i)) while True: if m.accelerometer.get_x()<-500: i-=1 if i<0: i=9 m.display.show(str(i)) m.sleep(500) elif m.accelerometer.get_x()>500: i+=1 if i>9: i=0 m.display.show(str(i)) m.sleep(500)
以后如果再看到有类似import…as…这句代码,就知道大概是怎么一回事了吧!