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. 【Git】删除某个全局配置项

    1.查看Git所有配置 git config --list 2.删除全局配置项 (1)终端执行命令: git config --global --unset user.name (2)编辑配置文件: ...

  2. 蓝桥杯之大臣的旅费(两次dfs)

    Description 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个 ...

  3. Oracle 函数function之返回结果集

    工作中常需要经过一段复杂逻辑处理后,得出的一个结果集.并能够将这个结果集作为一个表看待,去进行关联查询 我一般采用建立函数function的方式来处理. --创建包,声明function和typeCR ...

  4. MIPI Alliance (MIPI联盟)

    一.介绍 1.MIPI联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟.MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应 ...

  5. C语言中猴子吃桃问题

    猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第 10 天早上想再吃时 ...

  6. Luogu P1972 [SDOI2009]HH的项链

    很清新自然凶猛的数据结构题,都是套路啊 我们可以考虑离线做,先把区间按右端点从小到大排序 首先注意到一种贝壳如果在一段中出现超过1次,那么它在前面或后面就无关紧要了 举一个例子: 对于数列1 2 3 ...

  7. python 回溯法 子集树模板 系列 —— 8、图的遍历

    问题 一个图: A --> B A --> C B --> C B --> D B --> E C --> A C --> D D --> C E -- ...

  8. EJB开发第一期---EJB开发配置

    一.EJB 3.0简介 1.1 什么是EJB Enterprise JavaBeans是一个用于分布式业务应用的标准服务端组件模型.采用Enterprise JavaBeans架构编写的应用是可伸缩的 ...

  9. 由于未能创建 Microsoft Visual C# 2008 编译器,因此未能打开项目 "..."的解决方法

    如果遇到这种问题,我们通常只要在 Visual Studio 2017 的命令提示符工具里执行下列命令即可: devenv /resetskippkgs 如果还是不行的话,可以先把 Visual St ...

  10. LOJ#6354. 「CodePlus 2018 4 月赛」最短路[最短路优化建图]

    题意 一个 \(n\) 个点的完全图,两点之间的边权为 \((i\ xor\ j)*C\) ,同时有 \(m\) 条额外单向路径,问从 \(S\) 到 \(T\) 的最短路. \(n\leq 10^5 ...