从scratch到python轻松学下载_STEAM教育-[少⼉创客]从
Scratch到P。。。
从Scratch到Python——python turtle
⼀种⽐pygame更加简洁的实现
现在很多学校都开设了Scratch课程,学⽣可以利⽤Scratch创作丰富的作品,然⽽Scratch之后的图形化编程语⾔学习什么内容,是⼀线⽼师和Scratch官⽅共同关注的问题。
就⽬前来看可以选择的有C语⾔、Logo、Python和SmallBasic。就我个⼈⽽⾔是倾向于Python的。因为C语⾔虽然经典,但是学了很久也不能做出可视的成型的作品,极⼤的降低了孩⼦们的积极性;Logo语⾔仅仅是⼀门玩具型的编程语⾔;Smallbasic和Logo语⾔的情况类似;⽽Python语⾔已经做为编程⼊门语⾔得到了⼴泛的任何,相⽐于c语⾔,⼊门简单,⽽且Python可以⽤很少的代码完成复杂的⼯作,在以后的⼯作学习中都会⽤到,对于⼀般⼈来说C语⾔是屠龙之技,即便是在⼤学⾥的C语⾔通修课也是如此,⽽且⽬前部分⼤学的已经开始慢慢的把通识课的⼊门编程语⾔改成Python了。毕竟⼈⽣苦短我⽤Python呢。
康熙的八儿子但是Python作为⼀种⽂本编程语⾔,对于⼩学⽣来说还是有⼀定难度的,所以从Scratch到Python肯定
需要⼀个过渡,我对于这个问题思考了很长时间,我觉得在学习了Scratch基础上,结合Scratch来学习Python是合适的。
学习任何⼀种编程语⾔,⾸先要了解诸如变量、循环、分⽀判断这些基本的程序结构,经过Scratch的学习,学⽣对于这些概念基本掌握,在学习Python的时候,⽤Scratch来描述程序,作为思维可视化的⼯具,有助于学⽣快速的掌握Python。
闲⾔少叙,下⾯我们就开始Python的学习,话说如果⼀开始就讲Python的变量肯定会被吐槽,全部是⽂本,⿊咕隆咚的窗⼝,没什么意思啊,那么们就从窗⼝开始。
安装Python
(从官⽹下载Python 3.6如果是xp下载3.5,然后看下基本的Python安装和使⽤介绍,启动IDLE)
启动IDLE
安装python之后,开始菜单,python,IDLE,就可以启动了。
神奇的⼩乌龟
在正式学习Python之前我们先来体验下⽤Python来绘制图形,如果你看不懂也没有关系,先照着教程把代码查下来就是了,就像是联系书法开始肯定有个临摹的阶段,我们先体验,后⾯详细讲解为什么这么做
下⾯我们隆重的请我们的Python⼩乌龟⼊场。
⾸先在IDLE的代码编辑器输⼊以下代码
树葡萄2.png (1
3.46 KB, 下载次数: 20)
2019-2-2 14:53 上传
然后单击运⾏
3.png (2.41 KB, 下载次数: 21)
2019-2-2 14:53 上传
解释
我们来解释下这段代码
from turtle import *复制代码是从Python的库中导⼊turtle这个类,当导⼊的时候,其实⼩乌龟已经存在了,只是我们看不到⽽已。当你通过
forward(90)复制代码
命令让⼩乌龟前进90个单位的时候惫懒的⼩乌龟才出现在舞台上,forward的意思是前进,forward后⾯括号⾥的是参数,描述乌龟前进的距离,这是⼀个固定的写法。
4.png (
5.17 KB, 下载次数: 19)
2019-2-2 14:53 上传
是不是觉得眼熟呢,在Scratch,是不是有点像Scratch⾥⾯让⼩猫动起来呢?
5.png (37.84 KB, 下载次数: 20)
2019-2-2 14:53 上传
在turtle⾥⾯,默认画笔是落下的,所以⼩箭头移动的时候就会画图,我们记得scratch⾥⾯有⼀个抬笔积⽊,在turtle也有,不过是
6.png (18.99 KB, 下载次数: 17)
2019-2-2 14:53 上传
from turtle import *
# 神龟前进100单位
forward(90)
penup()
# 抬笔
forward(90)复制代码
⾸先我通过penup()命令抬笔,然后利⽤goto(10,90)命令让⼩乌龟移动到(10,90)
其实这个时候,调⽤前⾯的向前移动forward命令也不会留下痕迹的
7.png (18.99 KB, 下载次数: 18)
2019-2-2 14:53 上传
绘制正⽅形
下⾯我们来绘制⼀个正⽅形,⾸先我们⽤scratch来实现绘制正⽅形这个功能,我们⽤最简单的顺序命令来实现
Scratch程序绘制正⽅形
8.png (68.63 KB, 下载次数: 22)
2019-2-2 14:53 上传
可以看到
+⾸先拖动绿旗模块到舞台
+然后清空舞台
+落笔
+让⼩企鹅前进90步,然后右转90°,等1s钟
+重复以上步骤四次
+抬笔,准备下⼀次绘图
这是⼀个典型的绘制正⽅形的程序,采⽤了顺序结构来编制程序,便于理解。
接下来我们⽤python中的turtle库实现这个程序
Python版本的正⽅形绘制程序
9.png (7.61 KB, 下载次数: 16)
2019-2-2 14:53 上传
五一候补车票啥时候放票from turtle import *
# 神龟前进100单位
forward(90)
right(90)
forward(90)
right(90)
forward(90)
巨石强森的电影right(90)
forward(90)
right(90)复制代码
看,虽然⼀个是图形编程,⼀个是⽂本编程,但是都成功的绘制出了正⽅形。下⾯我继续完善,我们知道在Scratch中是可以改变画笔属性的,⽐如画笔粗细,画笔的颜⾊等等,在python也是可以的,看下⾯的表格
10.png (35.64 KB, 下载次数: 15)
2019-2-2 14:53 上传贝字旁的字有什么
⽐如我们要画⼀个边框粗为4,颜⾊为红⾊的正⽅形
Scratch版本
11.png (73.73 KB, 下载次数: 16)
2019-2-2 14:57 上传
Python版本的画正⽅形
12.png (6.67 KB, 下载次数: 20)
2019-2-2 14:57 上传
代码如下
from turtle import *
# 神龟前进100单位
pensize(4)
pencolor("red")
forward(90)
right(90)
right(90)
forward(90)
right(90)
forward(90)
right(90)复制代码可以看到,我们⽤python⾥⾯的命令完成了与scratch相同的功能,是不是相当有趣呢?
变量
前⾯我们画了⼀个边长为90的正⽅形,如果我们想让正⽅形的边长是100怎么办呢?我们先来看最原始的⽅法,那就是把scratch或者Python中代表边长的数字90分别改成100:
13.png (80.51 KB, 下载次数: 16)
2019-2-2 14:57 上传
你会发现这次不是正⽅形啊,哦,原来是我把最后⼀个右转90°,也改成100,导致右转了100°,你看,这样⼀个个的修改不仅⿇烦,⽽且容易出错,怎么办呢,我们⽤⼀个变量代表边长。
变量是⼀个容器,⾥⾯存放着代表边长的数字。
在Scratch中新建变量
经过前⾯多学习,⼤家已经掌握了在scratch中新建变量,下⾯我们新建⼀个代表边长的变量side,然后把程序中代表边长的100改成变量side
14.png (29.25 KB, 下载次数: 18)
2019-2-2 14:57 上传
然后我们改变side值,就可以轻松的绘制不同边长的正⽅形了
在Python中新建变量
新年祝词简短python是⼀种解释语⾔,⽆需声明就可以新建变量,新建变量只需要⽤下⾯的语法
side = 100复制代码这样就新建了⼀个side变量,代表100,这⾥的=等号的含义是,把右侧100的值放到变量side中,side代表100.
我们看如何⽤python来实现⽤变量来代表数值绘制正⽅形
from turtle import *
# 神龟前进100单位
side = 100
pensize(4)
pencolor("red")
forward(side)
right(90)
forward(side)
right(90)
forward(side)
forward(side)
right(90)复制代码
15.png (7.5 KB, 下载次数: 22)
2019-2-2 14:57 上传
那么,亲爱的朋友,你能够新建⼀个angle变量,代替⾓度吗?
重复循环
在⽇常⽣活中,我们经常会遇到⼀个枯燥⽽重复的事情,为了从这些劳动摆脱出来,⼈们发明机器以及机器⼈,代替⼈类完成这些枯燥重复的事情。与⼈类不同的是,计算机特别擅长做简单重复的事情,效率和准确率⽐我们⼈类要⾼很多。通过合理的使⽤重复循环,我们可以⼤⼤提⾼程序的效率。
from turtle import *
forward(90)
right(90)
forward(90)
right(90)
forward(90)
right(90)
forward(90)
right(90)复制代码
仔细观察以上代表,是不是,是不是感觉有很多地⽅是重复的呢?⼀般在计算机中超过三次重复就可以考虑使⽤循环来简化代码
在scratch中,控制积⽊分类中有重复积⽊:
16.png (2.16 KB, 下载次数: 22)
2019-2-2 14:57 上传
下⾯我们利⽤scratch中的循环来简化代码
17.png (12.88 KB, 下载次数: 15)
2019-2-2 14:57 上传
仔细观察以上代码,想⼀想在重复4次内部应该放⼊那些积⽊块呢?这样代码是不是简单了很多?
Python循环
python中的循环,需要⽤到语句,在这⾥会涉及到python⼀个⾮常有意思的地⽅,缩进语法
from turtle import *
for each in range(4):
forward(90)
right(90)复制代码
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论