最新消息:

(迁移)Python版本:数字0~9的增减、循环

Micro Bit 少儿编程 1761浏览 0评论

之前的两篇文章《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…这句代码,就知道大概是怎么一回事了吧!

您必须 登录 才能发表评论!