使用 Python Turtle 设计简单而又美丽的图形

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

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

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

现在让我们开始吧。

全部源码下载见本文最后

步骤1:Python

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

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

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

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

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

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

from turtle import * #导入模块turtle,

*代表所有

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

代码:

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

from turtle 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() # 放下笔,以便乌龟可以画画

while x < 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步:二次设计:酷炫的螺旋图形

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

代码如下:

from turtle import *

from random import randint # 从random 模块导入函数randint

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

speed(0)

bgcolor('black')

x = 1

while x < 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。在我看来,它是最简单但功能最强大的编程语言。

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

import turtle

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)

]

while x < 1000:

idx = int(c)

color = colors[idx]

turtle.color(color)

turtle.forward()

turtle.right(98)

x = x + 1

c = c + 0.1

turtle.exitonclick()

效果图:

关注linuxboy微信公众号(linuxidc_com),(见https://www.linuxboy.net/Linux/2013-12/93755.htm)发送“162144”即可获得本文Python代码。

https://www.linuxboy.net/topicnews.aspx?tid=17

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2020-01/162144.htm

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

  1. python代码画樱花带图片_用python画一颗樱花树(不同品种) 实现代码:

    原博文 2019-12-31 14:56 − 动态生成樱花效果图(这个是动态的): 实现代码: 1 import turtle as T 2 import random 3 import time 4 ...

  2. 用python画苹果的代码_使用python画个小猪佩奇的示例代码

    基本原理 选好画板大小,设置好画笔颜色.粗细,定位好位置,依次画鼻子.头.耳朵.眼睛.腮.嘴.身体.手脚.尾巴,完事儿. 都知道,Turtle 是 Python 内置的一个比较有趣味的模块,俗称&qu ...

  3. python画一颗心_利用python画一颗心的方法示例

    前言 Python一般使用Matplotlib制作统计图形,用它自己的说法是'让简单的事情简单,让复杂的事情变得可能'.用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统 ...

  4. python画圣诞树代码解读_使用Python画了一棵圣诞树的实例代码

    分享给大家一篇文章,教你怎样用Python画了一棵圣诞树,快来学习. 如何用Python画一个圣诞树呢? 最简单: height = 5 ​ stars = 1 for i in range(heig ...

  5. 用python画国旗的程序_利用python画国旗(示例)

    概述 昨天在网上看到有人利用turtle模块画出了五角星,觉得很好玩.晚上睡觉前想,这样的话其实可以画国旗啊.于是编写了下面的代码.可是!我并没有准确的设计方法,所以不敢擅自画国旗啊.如果谁有标准的设 ...

  6. python画函数图象_用python画函数图像

    原博文 2020-03-12 15:11 − 上代码 import numpy as np import matplotlib.pyplot as plt def f(x): return x*x*x ...

  7. 用python画时序图源代码_使用python实现画AR模型时序图

    背景: 用python画AR模型的时序图. 结果: 代码: import numpy as np import matplotlib.pyplot as plt """ ...

  8. 用python画微信捂脸_用 Python 画一个捂脸表情

    微信中的捂脸表情相信大家都不陌生,我见过以及自己使用这个表情的频率都是比较高的,可以说这个表情算是大部分人的主打表情之一了,本文我使用 Python 来画一下这个表情,我们使用到的库还是 turtle ...

  9. 用python画动态皮卡丘_利用Python绘制萌萌哒的皮卡丘

    开发工具 Python版本:3.6.4 相关模块: turtle模块. 环境搭建 安装Python并添加到环境变量即可. 在cmd窗口运行"pikachu.py"文件即可. 效果如 ...

最新文章

  1. Nchain旗下矿池挖出首个BCH区块,“算力战争”真的要来了?
  2. java logic_java logic怎么做用户登录
  3. Prolog基本程序
  4. centos组件显示乱码,centos组件显示乱码_解决CentOS下中文显示乱码
  5. 方钢管弹性模量计算方式_弹性模量的物理学本质
  6. mysql 导致iis 假死_解决IIS无响应假死状态
  7. springboot怎么替代jsp_如何在SpringBoot中使用JSP ?
  8. jquery触发点击事件
  9. 更换Qt QtEmbedded库的版本出现问题及解决(交叉编译OpenSSL)
  10. hls和modelsim联合仿真生成波形找不到wlf文件
  11. 设置返回IOS开发(26)之UITableView的页眉和页脚
  12. [编程题] 被3整除
  13. 17 java 存在的问题(转)
  14. 政务中心综合信息系统建设方案
  15. 一个记账易app开发
  16. 偶像和粉丝关系该是什么样的?
  17. 表单重复提交(前端未做单击防重复点击策略)
  18. 【安全牛学习笔记】 端口扫描
  19. 哪些能恢复网站服务器的数据的方式呢?
  20. 【Linux命令】挂盘相关命令,包含可扩展硬盘

热门文章

  1. 大火C4D元素,电商大促海报背景BANNER素材
  2. UI设计动效\动画素材模板|分层分步骤学习动效设计
  3. 适用于iPhone X屏幕|美丽线框 UI套件模板
  4. %12d在c语言中的意思,《C语言程序设计》习题.doc
  5. websocket python unity_Unity中Websocket的简单使用
  6. qmenubar 添加按钮_QMenuBar,QMenu和QAction(QMenuBar, QMenu QAction)
  7. Python爬虫时中文乱码的处理
  8. Ubuntu16.04 下SU画图,批量和单个
  9. android 静态编译链接,Android NDK:使用预编译的静态库链接
  10. ddd领域驱动设计_领域驱动设计(DDD)理论启示