本书是“孩子们的编程书”系列里的《Python编程进阶:海龟绘图》分册。本系列图书共分6级,每级两个分册,书中内容结合孩子的学习特点,从编程思维启蒙开始,逐渐过渡到Scratch图形化编程,最后到Python编程,通过简单有趣的案例,循序渐进地培养和提升孩子的数学思维和编程思维。本系列图书内容注重编程思维与多学科融合,旨在通过探究场景式软件、游戏开发应用,全面提升孩子分析问题、解决问题的能力,并养成良好的学习习惯,提高自身的学习能力。
本书基于Python语言的海龟绘图(turtle)模块编写而成,上册以海龟绘图基础及简单几何图形为主,主要通过开发有趣的程序引导孩子掌握海龟绘图基础,培养孩子们的编程思维和创新意识;下册以海龟绘图进阶内容和复杂几何图形及游戏设计为主,通过每课完成一个有趣的程序,使孩子能够熟练掌握海龟绘图编程,并能够用编程的思维去解决实际生活中遇到的问题。全书共24课,每课均以一个完整的程序制作为例展开讲解,让孩子们边玩边学,同时结合思维导图的形式,启发和引导孩子们去思考和创造。
本书采用全彩印刷+全程图解的方式展现,每节课均配有微课教学视频,还提供所有实例的源程序、素材,扫描书中二维码即可轻松获取相应的学习资源,大大提高学习效率。
本书特别适合中小学生进行Python编程初学使用,适合完全没有接触过编程的家长和小朋友一起阅读。对从事编程教育的老师来说,这也是一本非常好的教程,同时也可以作为中小学兴趣班以及相关培训机构的教学用书。
Python编程进阶:海龟绘图(上)
第1课 召唤小海龟 / 1
知识点:坐标系、导入turtle模块
第2课 美妙一笔画 / 8
知识点:前进方法forward()、旋转方法left()和right()、线条粗细pensize()/width()
第3课 百变舞台 / 19
知识点:setup()方法、title()方法、bgpic()方法、choice()方法
第4课 给点颜色看看 / 29
知识点:颜色值、bgcolor()方法、pencolor()方法、color()方法
第5课 会飞的海龟 / 42
知识点:penup()方法、pu()方法、up()方法、pendown()方法、pd()方法、down()方法、goto()方法
第6课 奥运五环 / 54
知识点:circle()方法、dot()方法
第7课 正多边形 / 65
知识点:通过circle()方法画正多边形、前进和旋转画正多边形、计算旋转角度、求平方根math.sqrt()
第8课 神奇涂色师 / 77
知识点:color()方法、begin_fill()方法、end_fill()方法、hideturtle()或者ht()方法、showturtle()或者st()方法、isvisible()方法
第9课 层叠之美 / 88
知识点:speed()方法、delay()方法、setx()、sety()
第10课 酷炫彩虹伞 / 101
知识点:math.radians()方法、math.cos()方法
第11课 海龟变形记 / 113
知识点:shape()方法、begin_poly()方法、end_poly()方法、get_poly()方法、addshape()方法、stamp()方法、clearstamp()方法、shapesize()方法
Python编程进阶:海龟绘图(下)
第1课 与小海龟对话 1
知识点:write()方法、textinput()方法、numinput()方法
第2课 鼠标控制小海龟 14
知识点:getscreen().onclick()方法、onscreenclick()方法、onrelease()方法、ondrag()方法、全局变量、局部变量
第3课 键盘控制小海龟 29
知识点:listen()方法、onkeypress()方法、onkey()方法、onkeypress()方法、setheading()方法、xcor()方法和ycor()方法
第4课 守时的小海龟 42
知识点:ontimer()方法
第5课 螺旋彩虹圈 53
知识点:递归函数、itertools模块的cycle()方法、next()函数
第6课 夜空繁星 64
知识点:画星星、自定义函数、random模块的randrange()方法
第7课 科赫雪花 74
知识点:自定义函数、right()方法、递归调用函数
第8课 龟兔赛跑 87
知识点:turtle.Turtle()、backward()方法、ontimer()方法
第9课 金色太阳花 99
知识点:home()方法、forward()方法、left()方法、right()方法
第10课 斐波那契螺旋线 109
知识点:递归函数、绘制弧、itertools.cycle()方法
第11课 迷宫地图(上) 119
知识点:with语句、open()函数、file.readlines()方法、字符串的strip()方法、字符串的split()方法
第12课 迷宫地图(下) 131
知识点:tracer()方法、return语句