python海龟绘图画圆_Python启蒙之海龟作图「建议收藏」

python海龟绘图画圆_Python启蒙之海龟作图「建议收藏」今天我要向大家介绍一下如何使用Python进行绘图,学会了基本绘图后,你就可以使用电脑绘制出很多漂亮的图形了,先给大家展示几幅使用Python绘图完成的精美图案吧。这副图形电脑是如何绘制出来的呢?试想一下,如果现在给你一张纸和一支笔,你如何做出这幅图形。你可以从中心点开始,然后一条条线开始绘制,直到完成最边缘的线条。电脑作图的方式就是充分模拟了你手工绘画的流程,通过程序控制了手工的作图。那既…

大家好,又见面了,我是你们的朋友全栈君。

今天我要向大家介绍一下如何使用Python 进行绘图,学会了基本绘图后,你就可以使用电脑绘制出很多漂亮的图形了,先给大家展示几幅使用Python 绘图完成的精美图案吧。

这副图形电脑是如何绘制出来的呢? 试想一下,如果现在给你一张纸和一支笔,你如何做出这幅图形。你可以从中心点开始,然后一条条线开始绘制,直到完成最边缘的线条。电脑作图的方式就是充分模拟了你手工绘画的流程,通过程序控制了手工的作图。那既然手工都可以做,为什么要使用电脑呢? 使用电脑的好处是,当你需要对这个图形进行一些修改,或者需要对他上颜色的时候,只需要很少的程序修改就可以完成,而不再需要重新手工绘制。

通过这幅图形的绘制过程,大家可能会了解一个概念,那就是电脑很多时候就是在模拟你的手工过程。如果这幅图形,你在手工绘制时都不知道怎么画,那其实你也很难想出来如何使用电脑进行模拟。电脑能够实现的是一次输入,永久保存,并且方便后续修改。但如果一件事情你用手工都不知道如何完成,相信即使转到电脑上也是没思路的。所谓的程序,简单来说,就是通过电脑的方式模拟手工的流程。

今天程序对应的代码如下:

import turtle

t = turtle.Pen()

for x in range(100):

t.forward(x)

t.left(90)

可以看到,程序非常简洁,总共加起来也就是5 行的代码。那在这几行代码中,到底发生了什么,从而让电脑绘制出了这么一副漂亮的图形?

第一行的命令是导入海龟图形库。大家可以想象一下,当开发程序的时候,其实有很多工具箱可以供你使用。当你绘图的时候,你需要海龟工具箱,当你播放音乐的时候,需要音乐工具箱,当你开发游戏的时候,需要基本的游戏工具箱。而在实际的绘制中,你也确实需要一套绘制工具才能完成绘制,而第一行的意思就是引入turtle 这个海龟绘图工具箱。今后你开发出来的有用的程序,也可以作为工具箱提供给别人使用。

第二行代码相当于在海龟绘图工具箱中选择了一只笔,这就像你实际绘图中,需要选择一支笔是一样的道理,后续的绘图就会默认使用这支笔进行操作了。如果需要对笔做一些设置,例如希望挑选不同颜色的笔,也可以在这里通过函数设置笔的颜色,在这个Demo 中默认使用的是黑色。这行代码中左边的 t 就代表着这只选中的笔,后续所有需要对这支笔的操作都是可以使用 t 来直接进行操作。

第三行使用了循环语句。 For 是Python语言中的关键字,代表循环。此行代码就代表从0 循环到99。计算机几乎总是从0 开始计数,而不是像我们通常那样从1 开始。这行代码中的 x 是一个变量,每次循环,他就代表不同的值。第一次循环的时候它是0,第二次循环它是1, 第三次是2,一直循环到99 就结束了,从0 到99 ,一共是100 次循环。

接下来的两行代码不是从顶格开始的,而是有四个字节的缩进。Python使用缩进的方式来组织代码。这两行缩进代码就位于For 循环的范围内,当每次循环的时候,都会执行一下这两行代码。所以这两行代码也被执行了100次,每次执行时,对应的 变量 x 都是不一样的,从0 到99。其中 t.forward(x) 这行代码会使用到循环变量 x,这句代码的意思是画笔在屏幕上向前移动 x 个点。第一次 x 等于0 的时候,画笔不会移动。当第二次 x 等于1 的时候,就会移动一个点。但在屏幕上,哪个方向是“前” 呢?也就是说画笔会往哪个方向移动?最开始的默认方向是向右的,t.left 函数把移动方向向左旋转了90 度,这就相当于第二次循环的时候,移动方向就变成了向上,第三次的时候就变成了向左,第四次变成了向下,然后第五次又变成了向右。

以上程序在电脑上运行的时候,大家能够看到完整的作图过程,配合以上的代码解释,应该能够很容易理解这些代码的意思。

最后再给大家总结一下本章的内容。我们使用五行代码绘制了一个令人印象深刻的图形,大家通过输入和运行这个代码,能够理解Python 程序是如何工作的,对程序的运行有了一个感性的认识,并且初步接触了几个关键字(import, for),这些关键字今后还会详细的介绍,今天大家只要能够完整的运行程序,并且初步了解每行代码如何与所绘制图形对应起来的就可以了。

这里给大家留一个练习题。今天的程序中所使用的笔的颜色是黑色的,但笔的颜色其实是可以改变的,所使用的代码如下:

t.pencolor(“red”)

这里把颜色修改成了红色,其他颜色包括:”yellow”,”blue”,”orange”,”green” 等,你尝试修改下画笔的颜色,然后重新绘制一幅有颜色的图像。

可加好友交流少儿编程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154088.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月28日 上午9:46
下一篇 2022年6月28日 上午10:00


相关推荐

  • 华为云服务器手机密码找回,忘记华为账号密码怎么办?两招就能帮你解决

    华为云服务器手机密码找回,忘记华为账号密码怎么办?两招就能帮你解决每天跟我们生活息息相关的账号密码,实在是太多太多了。银行卡密码、支付密码、游戏账号密码、各种APP账号密码等等……账号密码太多,也导致了我们有时候会忘记某些账号密码。那么问题来了,如果忘记了华为账号密码,怎么破?别担心,官维君教大家两招如何找回密码,一起来看看吧!第一招:登录华为云服务官网找回密码登录华为云服务官网☛https://cloud.huawei.com/,点击“忘记密码”,然后根据提示…

    2022年6月18日
    235
  • extends和implements区别

    extends和implements区别extends 与 implements 的不同 1 在类的声明中 通过关键字 extends 来创建一个类的子类 一个类通过关键字 implements 声明自己使用一个或者多个接口 nbsp extends 是继承某个类 继承之后可以使用父类的方法 也可以重写父类的方法 nbsp implements 是实现多个接口 接口的方法一般为空的 必须重写才能使用 nbsp 2 extends 是继承父类 只

    2026年3月18日
    1
  • java实现MD5加密的三种方式「建议收藏」

    java实现MD5加密的三种方式「建议收藏」方法一:推荐使用所需jar包:commons-codec.jarimportorg.apache.commons.codec.digest.DigestUtils;/***MD5加密之方法一*@explain借助apache工具类DigestUtils实现*@paramstr*待加密字符串*@return16进制加密字符串*/publicstaticStringencryptToMD5(Stringstr){ return

    2022年7月8日
    36
  • IBinder对象在进程间传递的形式(一)

    IBinder对象在进程间传递的形式(一)

    2021年12月2日
    46
  • 记忆化递归(记忆化搜索)

    记忆化递归(记忆化搜索)前言​ 前一篇博客写到入门的dp算法,后来又遇到一个奇怪的变种题目,同样也是可以用dp写的(至少标签是有动态规划)。我看了答案还是有些不能完全理解,于是又去b站翻了翻教程基础DP,其中提到记忆化的递归(也称记忆化搜索),相当于结合了dp和递归的优点(这时我又觉得比DP还厉害),然后就准备写写记忆化递归。目录​ 1.记忆化递归的解释与分析​ 2.记忆化递归的应用一、记忆化递归的解释与分析前面说道它结合了dp和递归的优点,分别是记忆化和逻辑清晰易懂。下面还是结合斐波那契数列的来理解:F(.

    2022年7月26日
    8
  • Flink教程(02)- Flink入门

    Flink教程(02)- Flink入门文章目录 01 引言 02Flink 概述 2 1 什么是 Flink01 引言在上一节 Flink 教程 01 Flink 知识图谱 我们知道了 Flink 的知识大纲 明白了需要学习的主要内容 本专栏以后都是围绕以下内容来讲 Flink 介绍 Flink 环境准备 安装部署 Flink 编程模型 DataStreamAP 状态管理与容错 DataSetAPITa amp SQLFlink 组件栈 Flink 部署与应用 Flink 监控与性能优化本文主要开始讲解 Flink

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号