手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2020-01-28] 来源:Linux公社  作者:醉落红尘,LinuxMi [字体: ]

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

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

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

现在让我们开始吧。

全部源码下载见本文最后

使用 Python 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看不到#之后的内容。 这些是注释。 :)
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() # 当您单击时,乌龟退出。

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

效果图如下:

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

代码很简单  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()

#再次,尝试自定义:)

效果图:

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

步骤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()

效果图:

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

关注Linux公社微信公众号(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

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

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款