原标题:使用 Python Turtle 设计简单而又美丽的图形

正文

看看本文中这些美丽的图画。正是这样的事情让我爱上了 turtle。优秀的程序员会认为turtle是"落后原始的”,但我不敢苟同。

在本教程中,我将用Python为turtle编写一个非常简单的指南。

turtle另一个伟大的用途是教孩子们基本的编程。年轻人更喜欢视觉上吸引人的设计,而不是枯燥的文字。

现在让我们开始吧。

全部源码下载见本文最后

步骤1:Python

在本教程中,我将使用Python 3.6.8。

Ubuntu 18.04将Python3设置为Python默认版本 https://www.linuxidc.com/Linux/2019-12/161629.htm

即使你不懂Python,也要了解下,一定要试着去学这门语言。在我看来,它是一种非常简单而强大的语言。

Turtle是一个内置模块,简单地说,模块是易于调用的编程函数集合,即计算机要遵循的一组特定步骤以获取结果的命令。

步骤2:第一个设计:代码和说明

#后面的内容python是看不到的。

from turtle import * #导入模块turtle,

*代表所有

speed(0) #将绘图速度设置为0,这是最快的

代码:

# python看不到#之后的内容。这些是注释。:)

fromturtle import* # 导入模块turtle,

#* 代表所有,这使事情更容易

speed( 0) # 将绘制速度设置为0,这是最快的

pencolor( 'red') # 将笔/线的颜色设置为红色

bgcolor( 'black') # 将背景/画布的颜色设置为黑色

x = 0# 创建一个值为0的变量x

up # 抬起笔,所以没有画线

#nota fd表示向前移动,bk表示向后移动

# rt 或 lt表示向右倾斜一定角度

rt( 45)

fd( 90)

rt( 135)

down # 放下笔,以便乌龟可以画画

whilex < 120: # 当x的值小于120时,

#不断地这样做:

fd( 200)

rt( 61)

fd( 200)

rt( 61)

fd( 200)

rt( 61)

fd( 200)

rt( 61)

fd( 200)

rt( 61)

fd( 200)

rt( 61)

rt( 11.1111))

x = x+ 1# adds 1 to the value of x,

# 所以每次循环后都接近120

exitonclick # 当您单击时,乌龟退出。

#就这样!尝试自定义脚本!

效果图如下:

代码很简单 speed, pencolor, fd, rt, lt等都是函数。基本上它们是Python要遵循的指令。

我们不如试着用简单的逻辑去创造更漂亮的设计。

第3步:二次设计:酷炫的螺旋图形

我该说什么呢?这段代码的美妙之处在于,它每次运行时都会生成一个独特的颜色组合。

代码如下:

fromturtle import*

fromrandom importrandint # 从random 模块导入函数randint

#turtle是一个模块,请提前阅读以使用

speed( 0)

bgcolor( 'black')

x = 1

whilex < 400:

r = randint( 0, 255) # 使变量r,g,b为整型数,

g = randint( 0, 255) # 在0到255之间。它是随机的

b = randint( 0, 255) # 每次循环运行都会改变

colormode( 255) # 这个关系不大

pencolor(r,g,b)) # 将笔的颜色更改为RGB坐标

# 由变量r,g,b每次改变获得

fd( 50+ x)

rt( 90.911)

x = x+ 1

exitonclick

#再次,尝试自定义:)

效果图:

步骤4:总结

到这一步,初学者可能会感到自豪,但你这样还没触及到表面。人们用Python把事情弄得像分形树一样复杂。

如果你喜欢turtle,我们以后将分享更多关于turtle的文档。还有很多方面,比如填充和圆,做实验找乐趣。

我希望这些能启发一些人,让他们继续学习Python。在我看来,它是最简单但功能最强大的编程语言。

为了进一步加深您的印象,看看下面的彩虹三角代码及效果图。

importturtle

turtle.setup(width= 600, height= 500)

turtle.reset

turtle.hideturtle

turtle.speed( 0)

turtle.bgcolor( 'black')

c = 0

x = 0

colors = [

#reddish colors

( 1.00, 0.00, 0.00),( 1.00, 0.03, 0.00),( 1.00, 0.05, 0.00),( 1.00, 0.07, 0.00),( 1.00, 0.10, 0.00),( 1.00, 0.12, 0.00),( 1.00, 0.15, 0.00),( 1.00, 0.17, 0.00),( 1.00, 0.20, 0.00),( 1.00, 0.23, 0.00),( 1.00, 0.25, 0.00),( 1.00, 0.28, 0.00),( 1.00, 0.30, 0.00),( 1.00, 0.33, 0.00),( 1.00, 0.35, 0.00),( 1.00, 0.38, 0.00),( 1.00, 0.40, 0.00),( 1.00, 0.42, 0.00),( 1.00, 0.45, 0.00),( 1.00, 0.47, 0.00),

#orangey colors

( 1.00, 0.50, 0.00),( 1.00, 0.53, 0.00),( 1.00, 0.55, 0.00),( 1.00, 0.57, 0.00),( 1.00, 0.60, 0.00),( 1.00, 0.62, 0.00),( 1.00, 0.65, 0.00),( 1.00, 0.68, 0.00),( 1.00, 0.70, 0.00),( 1.00, 0.72, 0.00),( 1.00, 0.75, 0.00),( 1.00, 0.78, 0.00),( 1.00, 0.80, 0.00),( 1.00, 0.82, 0.00),( 1.00, 0.85, 0.00),( 1.00, 0.88, 0.00),( 1.00, 0.90, 0.00),( 1.00, 0.93, 0.00),( 1.00, 0.95, 0.00),( 1.00, 0.97, 0.00),

#yellowy colors

( 1.00, 1.00, 0.00),( 0.95, 1.00, 0.00),( 0.90, 1.00, 0.00),( 0.85, 1.00, 0.00),( 0.80, 1.00, 0.00),( 0.75, 1.00, 0.00),( 0.70, 1.00, 0.00),( 0.65, 1.00, 0.00),( 0.60, 1.00, 0.00),( 0.55, 1.00, 0.00),( 0.50, 1.00, 0.00),( 0.45, 1.00, 0.00),( 0.40, 1.00, 0.00),( 0.35, 1.00, 0.00),( 0.30, 1.00, 0.00),( 0.25, 1.00, 0.00),( 0.20, 1.00, 0.00),( 0.15, 1.00, 0.00),( 0.10, 1.00, 0.00),( 0.05, 1.00, 0.00),

#greenish colors

( 0.00, 1.00, 0.00),( 0.00, 0.95, 0.05),( 0.00, 0.90, 0.10),( 0.00, 0.85, 0.15),( 0.00, 0.80, 0.20),( 0.00, 0.75, 0.25),( 0.00, 0.70, 0.30),( 0.00, 0.65, 0.35),( 0.00, 0.60, 0.40),( 0.00, 0.55, 0.45),( 0.00, 0.50, 0.50),( 0.00, 0.45, 0.55),( 0.00, 0.40, 0.60),( 0.00, 0.35, 0.65),( 0.00, 0.30, 0.70),( 0.00, 0.25, 0.75),( 0.00, 0.20, 0.80),( 0.00, 0.15, 0.85),( 0.00, 0.10, 0.90),( 0.00, 0.05, 0.95),

#blueish colors

( 0.00, 0.00, 1.00),( 0.05, 0.00, 1.00),( 0.10, 0.00, 1.00),( 0.15, 0.00, 1.00),( 0.20, 0.00, 1.00),( 0.25, 0.00, 1.00),( 0.30, 0.00, 1.00),( 0.35, 0.00, 1.00),( 0.40, 0.00, 1.00),( 0.45, 0.00, 1.00),( 0.50, 0.00, 1.00),( 0.55, 0.00, 1.00),( 0.60, 0.00, 1.00),( 0.65, 0.00, 1.00),( 0.70, 0.00, 1.00),( 0.75, 0.00, 1.00),( 0.80, 0.00, 1.00),( 0.85, 0.00, 1.00),( 0.90, 0.00, 1.00),( 0.95, 0.00, 1.00)

]

whilex < 1000:

idx = int(c)

color = colors[idx]

turtle.color(color)

turtle.forward

turtle.right( 98)

x = x + 1

c = c + 0.1

turtle.exitonclick

效果图:

linuxidc_com),(见https://www.linuxidc.com/Linux/2013-12/93755.htm)发送" 162144”即可获得本文Python代码。

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx 返回搜狐,查看更多

责任编辑:

用python画简单的图案-使用 Python Turtle 设计简单而又美丽的图形相关推荐

  1. 用python画漂亮的图案-使用 Python Turtle 设计简单而又美丽的图形

    原标题:使用 Python Turtle 设计简单而又美丽的图形 正文 看看本文中这些美丽的图画.正是这样的事情让我爱上了 turtle.优秀的程序员会认为turtle是"落后原始的&quo ...

  2. 用Python 画出玫瑰图案 (Python经典编程案例)

    用Python 画出玫瑰图案,代码如下: import turtle as t# 定义一个曲线绘制函数 def DegreeCurve(n, r, d=1):for i in range(n):t.l ...

  3. 用python画漂亮的图案-用Python画一些漂亮图形--Quora代码赏析

    我在逛Quora的时候发现这么一个问题: What is the most beautiful program you ever coded in Python? 有网友分享了自己用turtle或者p ...

  4. 用python画简单图案图片_使用 Python Turtle 设计简单而又美丽的图形

    使用 Python Turtle 设计简单而又美丽的图形 看看本文中这些美丽的图画.正是这样的事情让我爱上了 turtle.优秀的程序员会认为turtle是"落后原始的",但我不敢 ...

  5. 如何用python画出中国地图-用Python画中国地图(二)

    在上一篇文章<用Python画一个中国地图>中,我们简单描述了一下如何用Python快速画出一个中国地图的轮廓,似乎没有什么实用价值,这一次我们用实际数据填充它,使它看上去更有意义. 上色 ...

  6. 用python画月亮的代码-用python画月亮的代码是什么?

    用python画月亮的代码是什么? 用python画月亮的代码是import turtle as t t.screensize(800,600,"#483d8b")#画布尺寸和颜色 ...

  7. python画画用哪个软件_如何用python画韦恩图? 使用python的tutul工具,画一朵雏菊花...

    使用python的tutul工具,画一朵雏菊花 如何用python画韦恩图?不管什么时候,给心留一点空间.人生一世,不用什么都要去争,不是什么都要去抢,欲望少一点,满足多一点,这样才会活得潇洒一点,人 ...

  8. 用python画小动物大全_python3用turtle库进行绘制小猪佩奇图案

    晚上闲着无事,深入学习这个turtle用法,就做了小猪佩奇图 附上代码: # coding: utf-8 #功能:绘画小猪佩奇 import turtle as t t.screensize(400, ...

  9. python用turtle画菱形_使用 Python Turtle 设计简单而又美丽的图形

    Turtle是一个内置模块,简单地说,模块是易于调用的编程函数集合,即计算机要遵循的一组特定步骤以获取结果的命令. 步骤2:第一个设计:代码和说明 #后面的内容python是看不到的. from tu ...

最新文章

  1. mac升级后虚拟机无法启动_使用了自家M1处理器后,苹果新一代Mac迎来三大重点升级...
  2. ORACLE 配置文件
  3. 分布式事务最终一致性常用方案
  4. C/C++ mysql 设置字符集
  5. 你注意到 .Net Framework 和 .Net Core 中使用 Session 的区别了吗?
  6. observable_Java Observable countObservers()方法与示例
  7. leetcode 70 python (动态规划)
  8. 程序员面试题100题第03题——求子数组的最大和
  9. java获取屏幕上某坐标点的颜色
  10. linux安装monaco字体
  11. 云计算简介及Kubernetes云平台搭建
  12. 超详细电烙铁如何使用?
  13. 雷锋网专访布丁CEO徐磊
  14. C++进程间通信 详解2
  15. TTL与非门多余的输入端处置办法及其优缺点
  16. 戴尔笔记本如何查看HTML代码,如何查看戴尔笔记本电脑的型号
  17. 对于reg51.h、reg52.h、regx52.h、stc15f2k60s2.h的思考
  18. 长沙理工大学教务管理系统模拟登陆
  19. 芯片验证漫游指南-读书笔记
  20. BIGEMAP手机在线地图的查看

热门文章

  1. HDU1401 Solitaire
  2. BZOJ3073: [Pa2011]Journeys
  3. jquery 获取子元素的限制jquery
  4. NOIP2002-普及组复赛-第三题-选数
  5. 元素exist/present/visible(vanish)/enable的区别
  6. [NodeJS] Hello World 起步教程
  7. Bailian4100 进程检测【排序】
  8. CCF NOI1013 识别三角形
  9. CCF201312-3 最大的矩形(解法二)(100分)(废除!!!)
  10. Graphviz样例之有向图