Python (Windows 下) 自带了一个非常有趣的 海龟绘图程序 (turtle),它是本系列课程的主角。

在 PyCharm 中,新建一个项目,然后在代码编辑器中输入

 import turtle
turtle.shape("turtle")
turtle.exitonclick()

运行这段代码,便可以召唤出这位可爱的小精灵

上面的代码中  import turtle  用于导入模块,导入之后就可以应用模块的各种功能了

turtle.shape("turtle") 调用 turtle 的 shape 方法,用于改变海龟的显示方式(默认显示的是一个三角形的小箭头)。执行这句代码之后,turtle 显示为一只形象的小海龟。

turtle.exitonclick() 最后这句是告诉海龟保持住,直到遇到鼠标点击的时候才退出 (exit on click)。不然程序执行得太快,我们还来不及看到海龟,它就已经执行完毕并退出了。

【提示】

  • 请不要直接复制、粘贴代码,而是要对照着代码,自己在代码编辑器中一点一点地输入
  • Python 是大小写敏感的编程语言,输入代码时,请务必细心,注意字母大小写
  • Python 相比其他高级编程语言的一个特别之处,在于强制使用缩进,请不要在每行代码的开头随意添加空白字符(空格、Tab 键等)

现在小海龟位于窗体的正中央,龟头指向右边的方向。

接下来,我们尝试让海龟走两步。

关闭窗口(或点击窗体任何位置自动退出),将编辑器中的代码,更改为下面的样子

 import turtle
turtle.shape("turtle")
turtle.forward(200)
turtle.exitonclick()

运行代码,

我们看到小海龟从屏幕中心出发,沿着龟头的方向(右边),爬行(前进)了一段距离。

这次的代码,跟最开始的代码并没有太多的不同,只增加了 1 条语句 turtle.forward(200) 它的意思就是让海龟沿着当前龟头的指向,前进 200 个单位的距离。

刚才我们已经学会了如何让海龟爬行,接着我们再来看如何让海龟转身。

关闭窗口,将代码改成下面的样子,

 import turtle
turtle.shape("turtle")
turtle.left(45)
turtle.forward(200)
turtle.exitonclick()

运行之后,将显示下面的效果

这一次,在海龟出发之前(位于窗体正中央,龟头向右),我们先通过 turtle.left(45) 让海龟向左(逆时针)旋转 45 度。此时,海龟仍然位于窗体正中央,但龟头指向屏幕右上方。接着,再让海龟沿着更改后的龟头方向爬行, turtle.forward(200) ,于是就就画出了指向屏幕右上方的一条线段。

【练习】

尝试让小海龟画一个正方形

尝试画出 3 个交错叠加的正方形

【原文链接】 http://www.ipaomi.com/2017/11/11/python-零基础-快速入门-趣味教程-咪博士-海龟绘图-turtle-1-神/

Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 1. 神秘朋友的更多相关文章

  1. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环

    条件循环能够让程序在条件成立时(即为真时)重复执行循环体中的语句.如果条件一直成立(即永远不会为假),则循环会一直进行下去,不会停止.如果初始时,条件不成立,则循环 1 次也不会执行.Python 中 ...

  2. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 6. 条件

    前面的教程中,我们已经可以让小海龟绘制出各种图形了.但是,所有绘图的代码都是预先编好的,程序一旦运行起来,运行结果(绘制的图形)就是固定不变的.这一节中,咪博士将教大家如何让海龟响应用户的输入. im ...

  3. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 4. 函数

    什么样的程序员才是优秀的程序员?咪博士认为“慵懒”的程序员才是真正优秀的程序员.听起来不合逻辑?真正优秀的程序员知道如何高效地工作,而不是用不止境的加班来完成工作任务.函数便是程序员高效工作的利器之一 ...

  4. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 3. 循环

    在前面的教程中,咪博士留了一道练习题给大家—-画正方形,相信聪明的你应该已经画出来了. 下面是咪博士实现的代码. 是不是跟你的代码很像呢? import turtle turtle.forward(2 ...

  5. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 2. 变量

    大家在中学就已经学过变量的概念了.例如:我们令 x = 100,则可以推出 x*2 = 200 试试下面这段 Python 代码 import turtle turtle.shape("tu ...

  6. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 0. 准备工作

    一.关于 Python Python 是全球使用人数增长最快的编程语言!它易于入门.功能强大,从 Web 后端 到 数据分析.人工智能,到处都能看到 Python 的身影. Python 有两个主要的 ...

  7. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 5. 参数

    上一个教程中,咪博士带大家学习了函数的使用.例如,line_without_moving 函数,可以让海龟先画出一条线段,然后再回来起点. def line_without_moving(): tur ...

  8. Python 零基础快速入门!

    “人生苦短,我学python”是编程届的名言.用python写小脚本的便捷性,让很多其他语言的学习者把python当作辅助语言.拥有了某一个语言的功底,再来学习另外一种语言应该是十分快速的.编程理念都 ...

  9. 序言 - PHP零基础快速入门

    我为什么要写<PHP零基础快速入门>? 原因: PHP 真心简单,适合零基础的人快速入门掌握,身边的人学习一两周上手开发的比比皆是: 市面上的文章或书籍对初学者并不友好,多半枯燥乏味,我相 ...

随机推荐

  1. Linux 4.18内核系列已过时

    的Linux内核维护者Greg Kroah-Hartman宣布Linux 4.18内核系列的生命周期结束,敦促用户尽快将他们的发行版升级到更新的内核. Linux 4.18内核由Linux Liny ...

  2. web.xml配置遇到的问题

    web.xml<listener>            <listener-class>org.springframework.web.context.ContextLoad ...

  3. ceph状态信息靠谱查询

    1)检查集群的状态汇总信息: [root@haha1 clouder]# ceph -s cluster 8e136e25-77ab-4e0b-b24b-232a7b466cfe health HEA ...

  4. 在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数,以及如何根据URL解析出匹配到MVC路由的Controller和Action

    目前项目中有个需求,需要在WebForm中去构造MVC的URL信息,这里写了一个帮助类可以在ASP.NET非MVC环境中(WebForm中)构造MVC的URL信息,主要就是借助当前Http上下文去构造 ...

  5. c# SSH ,SFTP

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. 探索sklearn | K均值聚类

    1 K均值聚类 K均值聚类是一种非监督机器学习算法,只需要输入样本的特征 ,而无需标记. K均值聚类首先需要随机初始化K个聚类中心,然后遍历每一个样本,将样本归类到最近的一个聚类中,一个聚类中样本特征 ...

  7. HTML基础之DOM操作

    DOM(Document Object Model 文档对象模型) 一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象.可以通过dom对象中j ...

  8. HTML基础之CSS

    CSS选择器 1.id选择器 2.class选择器 3.标签选择器 4.层级选择器(空格) 5.组合选择器(逗号) 6.属性选择器(中括号) <!DOCTYPE html> <htm ...

  9. P3302 [SDOI2013]森林

    树上第k小是裸题,然后连边操作显然只能用启发式合并 连边之后重构小的部分,重构一遍主席树和倍增数组,水的一批(逃 #include<bits/stdc++.h> #define il in ...

  10. 记录一次 @Autowired 无法注入( spring依赖正常 idea显示有spring已注入的图标)导致空指针异常的原因

    首先,参考 https://blog.csdn.net/weixin_40475523/article/details/81085990 然后发现 是因为我把自己的这个类加上了 @Service 注解 ...