因为小喵在节假日招待游客很忙,所以素材有限,后面闲暇为大家带来更多有趣内容!

在造物节的12号下午,浙江卫视来采访我们啦~

https://newsapp.cztv.com/video/index.jsp?c=6037714&from=groupmessage&isappinstalled=0
开学季学习套件热卖中
点击图片查看详情
———————————————
通过前面两节的学习,大家可能会感觉到实际上的编程相当于我们手握一直笔,通过各种指令控制笔的路径。没错,我们平时写字或画画的各种操作都能够用代码实现。包括抬起笔或者落下笔,改变笔的颜色,改变笔的粗细等等。。
NEWS
我们先从数学上来思考一个圈的属性。我们都知道一个圆有360度,如果我们每前进一步转1度,最后不就是一个圆了吗?
我们先回到图形化模式快速验证下我们的想法。

点击绿旗帜看看最后的运行结果,注意这里我们使用了循环方块。

对应的python代码如下:
# -*- coding: utf-8 -*-import _env, time, randomfrom scratch3 import *Beetle = Sprite("Beetle")x = 0Beetle.gotoXY(0, 0)Beetle.direction(90)Beetle.clear()Beetle.setPenSize(3)Beetle.setColor("#ff0000")Beetle.penDown()for count in range(360):
Beetle.turnLeft(1)
Beetle.move(1)
但是我们平时我们做算术题的时候都是使用半径和原点来定义一个圆的,这种bug作图完全没办法控制呀~
我们知道圆的周长是2x3.14x半径,如果我们要画一个半径为100的圆,那么每一步就应该是(2x3.14x100/360)= 1.745
我们来验证一下我们的想法,将for循环中移动的代码改造一下
并让bug一开始就处在负Y轴的(0,-100)位置
Beetle.gotoXY(0, -100)Beetle.direction(90)Beetle.clear()Beetle.setPenSize(3)Beetle.setColor("#ff0000")Beetle.penDown()for count in range(360):
Beetle.turnLeft(1)
Beetle.move(2*3.14*100/360)
大家看看最终效果是不是一个圆心就在(0,0),半径为100的圆呢?

函数化
我们上面画了一个完美的圆圈,但是我想让我们的代码更加通用,可以在任意位置,任意半径画圈圈,最好还可以改变颜色。。
这时候就需要祭出python的函数功能了。
如果对python函数不熟悉的同学可以先用scratch3的自定义函数上手,我们点击自制积木->制作新的积木
之后定义一个具有四个输入参数的积木,分别对应圆的半径,原点x,原点y,颜色。

这里我们首先用图形化方块描述这个函数的功能,基本就是把我们前面画圆的代码重新使用输入参数抽象化:

之后转到python代码编辑器,注意点击**</>**按钮重新生成python代码:
# -*- coding: utf-8 -*-import _env, time, randomfrom scratch3 import *Beetle = Sprite("Beetle")x = 0def circle(R, x, y, color):
Beetle.gotoXY(x, -1 * R)
Beetle.setColor(color)
Beetle.penDown()
Beetle.direction(90)
for count in range(360):
Beetle.turnLeft(1)
Beetle.move((2 * (3.14 * R)) / 360)
Beetle.penUp()Beetle.setPenSize(3)Beetle.clear()circle(100, 0, 0, "#ff0000")
其中def circle(R, x, y, color):就是python下的函数定义了,其中def就是definition的缩写,表示后面是一个函数定义。紧接着是函数的名字,括号内对应的是函数的参数。图形化只是带领大家入门,关于python函数的花式玩法有很多,大家可以参考我们另外一篇micropython系列教程或者其他python教材都有详细的阐述。
注意函数或者其他带作用域的定义均需要以冒号结尾,并且在下一行需要使用空格或者tab缩进。同样作用域的代码需要具有同样的缩进,不然python解释器运行的时候会报错,更糟糕的情况是完全给出错误的执行结果。
最后我们在python代码中加入随意的几个circle函数调用,并看看效果。

circle(100, 0, 0, "#ff0000")circle(20, -20, 0, "#00ff00")circle(40, 30, 30, "#ff0000")circle(80, -20, 20, "#ff00ff")circle(60, 0, 0, "#00ffff")
本章完~
造物节期间淘宝直播好玩内容
手淘首页查看,确定不来吗?
![]()
![]()
心中默念愿望,让喵仙人告诉你答案吧!


火爆校园的Microbit扩展板,简单上手的图形化编程搭配人工智能硬件,软硬兼施,锻炼你的逻辑思维力!

🍊乐高的兼容性使得整体变得魔性多变,加上你喜欢的传感器,天黑障碍熟视无睹!🍉独家打造的乐高积木块,丝滑的手感和精密的细节
🌰狂暴角龙/相扑选手/夺旗校尉风驰电掣/巨拳螳螂/雷暴犀牛 机灵捕手/战争炮台/智能纸巾机 疯狂掠夺者/路障克星/足球小将
应接不暇,想玩啥就玩啥!
😃无论是手柄,APP,还是体感操作都轻松无压力,放下手机,和小伙伴来场联机游戏吧!
【造物节 Kittenbot小喵科技格斗小车十二合一microbit智能巡线避障】https://m.tb.cn/h.eljfnsu?sm=6af4e6 点击链接,再选择浏览器咑閞;或椱ァ製这段描述$O5TgYlvJnxm$后到
◇綯℡寳
传统技艺与科技的碰撞,这必定是一场新奇的盛宴

通过AI摄像头识别并进行自动分拣
你知道怎么分类吗?

虽说是机器人,但是你可不一定能赢得了它
不信?那就来一决高下吧!!!
为啥么得感情?因为它有可能把你赢得怀疑人生
你却无可奈何


能量魔块(不带积木版)造物节特价!
立减百元!
进入首页查看详情
【造物节 Kittenbot小喵科技格斗小车十二合一microbit智能巡线避障】https://m.tb.cn/h.elYeo31?sm=4d4fbc 点击链接,再选择浏览器咑閞;或椱ァ製这段描述¢UeFqYlvstwt¢后到
◇綯℡寳
和小喵一起学习吧!

1.QQ群
444193538
2.喵家论坛
https://bbs.kittenbot.cn/forum.php
3.我们的Kittenblock软件http://learn.kittenbot.cn/zh_CN/latest/kittenblock/index.html
4.小喵科技店铺
https://kittenbot.taobao.com/shop/view_shop.htm?tracelog=twddp&user_number_id=2830157417
5.哔哩哔哩课程系列
https://space.bilibili.com/25299911
人工智能教程系列
机器学习教程系列
机器学习5(轻量TensorFlow)教程系列
物联网教程系列
物联网系列暂时完结
kittenblock软件教程更新
系列一:kittenblock学习指南教程
系列二:下载与安装
每周末开启限时抢购!记得来哦!







