平台概述

KittenCode是由小喵科技研发推出的一款Python学习及应用 编程平台。不仅能使用Python3进行纯软件的Python编程,支持第三方库的安装和管理;而且能使用Micropython进行硬件编程,可直接对诸如Micro:bit、掌控板和喵比特等硬件编程实现在线运行及程序上传运行功能。

平台优势

  • 摒弃复杂的界面,打造适合中小学生使用的Python编辑器
  • 支持纯Python编程和硬件MicroPython编程
  • 集成指法练习,助你快速上手代码输出
  • Python常见库集成与推荐系统
  • 集成硬件主板仿真模拟器,无痛上手
  • 账号系统,程序云端存储,云端分享,学习资料示例同步更新

视频介绍

01-快速开始

下载安装

点击此链接进行下载安装:
https://www.kittenbot.cn/kittencode_download

操作指引


主界面

image.png
功能区:项目命名、模式切换、功能按钮
文件区:本地项目文件夹内文件、硬件文件系统(硬件模式)
编辑区:已开文件、程序编辑区&渲染区域(图片:png、jpg)
执行区:运行当前编辑区文件、上传程序&恢复固件(硬件模式)
控制台:Python3模式只负责运行内容的打印、硬件模式(作为REPL、支持串口数据通讯)

Python3测试

  1. 选到Python3模式

image.png

  1. 新建一个项目

image.png

基本数学案例

  1. # 数字1~4一共能够组成多少组不同的3位数
  2. sum = 0
  3. values = range(1, 5)
  4. for i in values:
  5. for j in values:
  6. for k in values:
  7. if i != j and j != k and k != i:
  8. print("%d%d%d" % (i, j, k))
  9. sum += 1
  10. print("sum:%d" % sum)

结果演示:
image.png

Turtle案例1——绘制五角星

:::info 由于turtle库是Python3内置的,所以直接使用即可 ::: 复制下面代码,粘贴到编辑区,点击运行。查看是否有运行效果。弹框

  1. from turtle import *
  2. def drawStar(x, y):
  3. pu()
  4. goto(x, y)
  5. pd()
  6. # set heading: 0
  7. seth(0)
  8. for i in range(5):
  9. fd(200)
  10. rt(144)
  11. drawStar(0, 0)
  12. done()

结果现象:
image.png

Turtle案例2——彩虹

  1. from turtle import *
  2. def HSB2RGB(hues):
  3. hues = hues * 3.59 #100转成359范围
  4. rgb=[0.0,0.0,0.0]
  5. i = int(hues/60)%6
  6. f = hues/60 -i
  7. if i == 0:
  8. rgb[0] = 1; rgb[1] = f; rgb[2] = 0
  9. elif i == 1:
  10. rgb[0] = 1-f; rgb[1] = 1; rgb[2] = 0
  11. elif i == 2:
  12. rgb[0] = 0; rgb[1] = 1; rgb[2] = f
  13. elif i == 3:
  14. rgb[0] = 0; rgb[1] = 1-f; rgb[2] = 1
  15. elif i == 4:
  16. rgb[0] = f; rgb[1] = 0; rgb[2] = 1
  17. elif i == 5:
  18. rgb[0] = 1; rgb[1] = 0; rgb[2] = 1-f
  19. return rgb
  20. def rainbow():
  21. hues = 0.0
  22. color(1,0,0)
  23. #绘制彩虹
  24. hideturtle()
  25. speed(100)
  26. pensize(3)
  27. penup()
  28. goto(-400,-300)
  29. pendown()
  30. right(110)
  31. for i in range (100):
  32. circle(1000)#圆,彩虹
  33. right(0.13)
  34. hues = hues + 1
  35. rgb = HSB2RGB(hues)
  36. color(rgb[0],rgb[1],rgb[2])
  37. penup()
  38. def main():
  39. setup(800, 600,0,0)
  40. bgcolor((0.8, 0.8, 1.0))
  41. #tracer(False)
  42. rainbow()
  43. #输出文字
  44. tracer(False)
  45. goto(100,-100)
  46. pendown()
  47. color("red")
  48. write("Rainbow",align="center",
  49. font=("Script MT Bold", 80, "bold"))
  50. #tracer(True)
  51. mainloop()
  52. if __name__ == "__main__":
  53. main()

现象:
image.png

基础爬虫——爬取喵家B站粉丝数

  1. 需要用到requests库,先通过pip安装

image.png :::info

:::

  1. 将代码贴到main.py中,点击运行 ```python

    encoding:utf-8

    import requests as req from time import strftime, localtime import codecs

def fans(mid, name=-1): mid = str(mid) name = str(name) if name == -1: name = mid url = “https://api.bilibili.com/x/relation/stat?vmid=“ + mid + “&jsonp=jsonp” resp = req.get(url)# 通过url爬取到我们想要的json数据 info = eval(resp.text) with codecs.open(name + ‘粉丝数统计.txt’, ‘a’,’utf-8’) as f: f.write(strftime(“%Y”, localtime()) + “年” + strftime(“%m”, localtime()) + “月” + strftime(“%d”,localtime()) + “日” + name + “粉丝数:” + str(info[‘data’][‘follower’]) + ‘\n’)# 获取data中的follower就是粉丝数啦 print(strftime(“%Y”, localtime()) + “年” + strftime(“%m”, localtime()) + “月” + strftime(“%d”, localtime()) + “日” + name + “粉丝数:” + str( info[‘data’][‘follower’]) + ‘\n’)

if name == “main“: fans(25299911, ‘KittenBot’)

  1. 3. 点击运行后,终端输出了粉丝数结果,文件区中也生成了粉丝数统计
  2. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/1432841/1619686020615-4c81f29d-e90c-42ea-91aa-f202a9577ce2.png#clientId=uc8b53592-c17b-4&from=paste&height=660&id=u5eb29da3&margin=%5Bobject%20Object%5D&name=image.png&originHeight=660&originWidth=1249&originalType=binary&ratio=1&size=77736&status=done&style=none&taskId=u581988b5-d9cb-4b95-91d8-14254344e07&width=1249)
  3. <a name="ffb9349abf6a73ba475480e530f679fd"></a>
  4. ### 硬件测试
  5. <a name="pWzvB"></a>
  6. #### 未来板
  7. <a name="yRm0z"></a>
  8. ##### 【连接基础操作】
  9. 1. 切换至硬件模式——以未来板为例——连接串口
  10. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/1432841/1620110374823-eff1283c-7730-44bf-90e0-c6f55d7b031d.png#clientId=ua0e0c7a9-fadc-4&from=paste&height=1035&id=ykiRb&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1035&originWidth=800&originalType=binary&ratio=1&size=327138&status=done&style=none&taskId=u886a9c04-9102-47c0-8b21-26263cddf37&width=800)
  11. 2. 首次使用推荐恢复固件,保证板子固件为最新
  12. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/1432841/1620110544481-7b980a7a-1f13-4a34-b066-9b20267aaf05.png#clientId=ua0e0c7a9-fadc-4&from=paste&height=192&id=ueb74e25e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=325&originWidth=702&originalType=binary&ratio=1&size=22573&status=done&style=none&taskId=u19d94664-1c6a-4adc-aed4-d6ae21f40ce&width=415)
  13. 3. 恢复固件完毕后,再一次连接硬件
  14. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/1432841/1620110635926-8d026b03-3e8a-476f-8a17-dffa4937f103.png#clientId=ua0e0c7a9-fadc-4&from=paste&height=450&id=uf2580435&margin=%5Bobject%20Object%5D&name=image.png&originHeight=900&originWidth=1305&originalType=binary&ratio=1&size=110607&status=done&style=none&taskId=ue4a5f08d-cd50-452a-9eaf-8b4d7f1e542&width=652.5)
  15. <a name="BiJFx"></a>
  16. #####
  17. <a name="oEwcX"></a>
  18. ##### 【仿真器使用】
  19. 编写对应程序,点击仿真器运行按钮
  20. ```python
  21. from future import *
  22. screen.fill((0, 119, 255))

image.png

编写与传感器相关的按钮,尝试模拟控制传感器数值

  1. from future import *
  2. while True:
  3. screen.clear()
  4. screen.text(sensor.getTemp(),5,10,1,(0, 119, 255))

image.png

【在线调试硬件】

编写完程序后,点击运行,把程序载入硬件的内存中
image.png :::warning 温馨提示:

  • 在线调试适合快速验证程序,无需等待下载过程
  • 在线调试传输的程序,在硬件断电后就会消失(若想断电保存,请使用“上传”)
  • 在线调试过程必须连接电脑串口 :::

【上传脱机程序】

若已经确认程序无误,想把程序上传到硬件上,脱机运行,可使用上传模式
image.png :::warning 温馨提示:
上传脱机程序后,可拔掉数据线,用锂电包进行供电 :::