精华内容
下载资源
问答
  • python创意绘图-有趣的Python turtle绘图

    千次阅读 2020-10-30 23:10:26
    原标题:有趣的Python turtle绘图Python TurtlePython的一个编程教育类库,越来越受到教育者的关注,近日,以"智能时代,逐梦成长”为主题的第5届全国青少年创意编程与智能设计大赛正式开始,本届大赛增加了...

    原标题:有趣的Python turtle绘图

    Python Turtle是Python的一个编程教育类库,越来越受到教育者的关注,近日,以"智能时代,逐梦成长”为主题的第5届全国青少年创意编程与智能设计大赛正式开始,本届大赛增加了Python创意编程比赛。科技学堂也开设了《Python-Turtle图形编程入门》帮助教师掌握Python并应用于课程中。

    来源 | 《中国科技教育》2019年第6期

    作者 | 毛京宇/北京师范大学第三附属中学 魏云靖/北京市师达中学

    01

    Python turtle 的发展

    Python 中的turtle 模块受启发于在欧美有着广泛基础且历史悠久的LOGO 语言。LOGO语言形式非常直接,通过一组简单的指令就可以指挥计算机在屏幕上绘制出或极具现代感或抽象复杂的图像。正是因为LOGO 教学的广泛开展,使得很多青少年不再将编程等同于geeks 或nuts 的专长,并对数学、逻辑和计算机等相关学科产生了浓厚的兴趣。

    初代turtle 模块随2001 年12 月21 日发布的Python 2.2 版本被添加到了Python 标准库之中。后经多个版本的调整逐渐稳定并形成当前版本中的功能和操作。

    Python turtle 是向LOGO 语言的致敬,可以通过turtle.mode 函数予以调整,尽最大可能还原LOGO 语言中小海龟操作的特点。

    随着Python 语言的流行和普及, 一位名叫Ram Rachum 的网络工程师重构了Python turtle 并单独封装形成了一款叫作PythonTurtle 的教学软件,可以在Windows和Mac 计算机上安装和运行。

    02

    Python海龟绘图课

    在正式上课之前,请注意:

    (1)Python是一种开放标准的通用开发语言,不少组织发行了各具特色的版本。本文所载程序使用的Python编译器为CPython(官方社区发行版本)3.7.3。当然,如果读者使用其他发行版就不能运行示例脚本。当出现意外情况时,请您在检查时考虑版本因素。

    (2)尽管现在互联网上有很多在线版本的Python运行环境(无论是Python官方社区的Interactive Shell,又或者各大厂家提供的在线Jupyter Notebook服务),并且turtle是Python标准库,但是由于无法加载并创建tkinter.Canvas画布的原因,所以在线平台无法让海龟畅游作画。

    本文以偏概全仅对绝大多数常用turtle模块函数进行梳理,希望能对初学者有所引领。学习Python最好的平台当然还是官方社区提供的文档站点,读者可以访问https://docs.python.org/zh-cn/3/library/turtle.html进行更为全面的学习。

    03

    让海龟畅游起来

    挥毫创作当然要首先学会运笔。Python Turtle的基础就是让海龟能够在画布中畅快遨游。

    有了表1这些基础我们就可以绘图了。

    cd5fde4296da419dbd84e01dd72f83c7.jpeg

    怎么turtle画图一上来就让读者碰了钉子?也许你觉得海龟画图太过平淡,那我们就在上面程序的基础上加入for循环做点儿炫目的效果。这里我有意识地使用了2个之前没有讲解过的turtle模块中的绘图函数,相信聪明的读者在阅读源代码的过程中一定能够理解其中深意。

    bed76b599ce8427d8e122df3e4d09dec.jpeg

    33acfe9e5885454190bb854a3353bd2d.jpeg

    34796dd3e47e4f03a04100305934f4ea.jpeg

    2fc5d41bc92e4c5c8dcef5a3ed06f4ec.jpeg

    6b7d6fc19cd644a9b4493cd2182709a4.jpeg

    04

    "油漆桶”工具

    一笔一笔"挥毫”虽然有趣,但如果需要大面积着色时还是"泼墨”画法更有效率。表2中的一组turtle函数不但完成画笔"油漆桶”般的填充着色功能,而且还能设置和判断海龟绘图时的状态。

    98547c11c5994a4bb40ac83c8016b487.jpeg

    准备好了吗?这回我们加入了函数这种结构化程序设计的技术优化脚本,现在要验证所学的新知识了。

    f519edf04eea4c81bb6de259351f25d5.jpeg

    e70edc53c39343d3b3adc6cbf870f290.jpeg

    8843c0e0df944521bd166c94850142f2.jpeg

    c3c2f968f92c49b2b499aaeed00cf540.jpeg

    e449020db73449f0a0f534bf841d4a91.jpeg

    用Python turtle打太极,是不是很有趣?

    05

    互动绘图板

    Python turtle除了能够完成基本的绘图任务之外,还可以在程序中添加键盘和鼠标交互函数,制作出具有互动功能的程序甚至小游戏。下面是与交互有关的常用函数,让我们一起来学习一下吧。

    92a21e545c56444fbdb3aeaae610ff64.jpeg

    有了表3这些函数的辅助,我们就可以制作一个绘图板程序。在操作时,鼠标左键控制"画笔”在绘图板中运动,鼠标中键可以切换绘图时的颜色,鼠标右键控制图形填充及"画笔”在绘图板上的"落笔”"抬笔”操作。

    0bfd36ce1aba4379ab33b3c9430dcf2d.jpeg

    061f3074fb96425b87fa9a5863cf45d2.jpeg

    444e6b4f2e7044b6bbb8fe0ec70aa544.jpeg

    d2f7b67e044541738fff5d6962b2190c.jpeg

    06

    总结

    turtle绘图模块受LOGO语言启发而创建,能够有效激发初学者的学习热情并释放创意。turtle绘图模块仅仅是Python不断发展壮大标准库中的其中一员,无论是浅尝辄止热衷于在计算机上挥毫泼墨,还是循序渐进探究前沿科技,都是一个非常具有潜力的终南捷径。返回搜狐,查看更多

    责任编辑:

    展开全文
  • 使用 Python Turtle 设计简单而又美丽的图形看看本文中这些美丽的图画。正是这样的事情让我爱上了 turtle。优秀的程序员会认为turtle是"落后原始的”,但我不敢苟同。在本教程中,我将用Pythonturtle编写一个...

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

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

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

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

    现在让我们开始吧。

    全部源码下载见本文最后

    20012814522122.gif

    步骤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() # 当您单击时,乌龟退出。

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

    效果图如下:

    20012814514967.png

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

    #再次,尝试自定义:)

    效果图:

    20012814513142.png

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

    效果图:

    20012814528885.png

    关注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中,有一个内置的绘图模块,就是turtle。我们可以用它来绘制一些有趣的图形。 多边形 1、三边的效果: 2、六边的效果: 是不是觉得非常挺炫酷的,但其实实现它的代码非常简单,仅仅10行Python代码就能实现...
  • pythonturtle库画出创意

    千次阅读 2020-02-12 14:28:46
    最近空余时间在了解一下火热的python,今天看到了利用turtle画图的这一章节,虽然不知道将来有什么应用场景,不过这么简单这么强大,还是点一个赞。 没啥好介绍的,直接上代码,上结果 1、代码很简单,画一个漂亮的...

    最近空余时间在了解一下火热的python,今天看到了利用turtle画图的这一章节,虽然不知道将来有什么应用场景,不过这么简单这么强大,还是点一个赞。

    没啥好介绍的,直接上代码,上结果
    1、代码很简单,画一个漂亮的五星

    import turtle
     
    def fiveStart():
      turtle.pensize(5)
      turtle.pencolor("yellow")
      turtle.fillcolor("red")
      turtle.begin_fill()
      for _ in range(5):
        turtle.forward(300)
        turtle.right(144)
      turtle.end_fill()
      turtle.mainloop()
    
    if __name__ == '__main__':
      fiveStart()
    

    2、漂亮的运行结果,赞一个
    在这里插入图片描述

    展开全文
  • 1.turtle的使用turtle是一个简单的绘图工具,他提供了一个小海龟,你也可以把它理解成一个小机器人只听得懂有限的指令。使用时候需要导入turtle库: import turtle绘图窗口的原点(0,0)在正中间默认情况下,海龟向...

    1.turtle的使用

    turtle是一个简单的绘图工具,他提供了一个小海龟,你也可以把它理解成一个小机器人

    只听得懂有限的指令。

    使用时候需要导入turtle库: import  turtle

    绘图窗口的原点(0,0)在正中间

    默认情况下,海龟向正右方移动

    2.操作命令

    import  turtle       # 导入turtle模块

    turtle.done():​程序继续执行,也就是代码执行完毕但不关闭窗口

    2.1 运动命令

    turtle.forward(d) :向前移动dpx个长度

    turtle.backward(d):向后移动d个长度

    turtle.right(d) : 向右转动多少度

    turtle.left(d) :向左转动多少度

    turtle.goto(x, y) :移动到坐标为(x,y)的位置

    turtle.speed(speed) :画笔绘制的速度[0, 10]

    2.2 笔画控制命令

    turtle.up() :笔画抬起,在移动的时候不会绘图【只移动画笔】

    turtle.down() :画笔落下,移动绘图

    turtle.setheading(d):改变画笔的朝向,多少度

    turtle.pensize(d):改变画笔的粗细

    turtle.pencolor(color):改变画笔的颜色

    turtle.reset():恢复所有设置,清空窗口,重置turtle状态

    turtle.clear():清空窗口

    2.3  绘制图形

    turtle.circle(r, steps = n) :默认绘制一个圆形,r为半径,n等于几就是几边行

    turtle.begin_fill():开始填充

    turtle.fillcolor(color) :填充颜色

    turtle.end_fill() :结束填充

    2.4 其他命令

    turtle.done() :程序继续执行

    turtle.undo() :撤销上一次动作

    turtle.hideturtle() :隐藏小海龟

    turtle.showturtle():显示小海龟

    turtle.screensize(x, y) 设置窗口大小

    展开全文
  • pythonturtle绘图

    千次阅读 2020-05-02 22:41:44
    今天学到了pythonturtle绘图,感觉还蛮好玩的。在知乎、python123上看到很多大佬的绘图,感觉很有意思。也搜到很多turtle绘图的教程。 python自带了一些turtle画图的demo在Command Prompt敲下面的代码就可以打开啦...
  • 原标题:有趣的Python turtle绘图Python TurtlePython的一个编程教育类库,越来越受到教育者的关注,近日,以“智能时代,逐梦成长”为主题的第5届全国青少年创意编程与智能设计大赛正式开始,本届大赛增加了...
  • 【实例简介】漂亮雪花【实例截图】【核心代码】from turtle import *from random import *def ground():#画下面的土地hideturtle() #隐藏乌龟speed(100) #速度for i in range(400):pensize(randint(5,10))#画笔尺寸x...
  • turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制。turtle图形绘制的概念诞生于1969年,成功应用于LOGO编程语言。turtle库绘制图形有一个基本框架:一个小海龟在坐标系中爬行,其爬行轨迹形成了...
  • Python常用的绘图工具包括:matplotlib, seaborn, plotly等,以及一些其他专用于绘制某类图如词云图等的包,描绘绘图轨迹的turtle包等。 1 turtle绘制奥运五环图 turtle绘图的函数非常好用,基本看到函数名字就能...
  • 原标题:Python turtle的多学科创意编程近日,以"智能时代,逐梦成长”为主题的第5届全国青少年创意编程与智能设计大赛正式开始,本届大赛增加了Python创意编程比赛。《中国科技教育》2019年第6期专题"...
  • 一、先上图一个同切圆和五角星上代码import turtle#同切圆turtle.pensize(2)turtle.circle(10)turtle.circle(40)turtle.circle(80)turtle.circle(160)#五角星from turtle import *color('red','yellow')begin_fill()...
  • 画一个红色的五角星from turtle import *color('red','red')begin_fill()for i in range(5):fd(200)rt(144)end_fill()done()效果图:画一条蟒蛇#PythonDraw.pyimportturtle#turtle.setup(650,350,200,200)turtle....
  • turtle作图作品

    2018-06-25 17:56:08
    利用python3标准turtle库制作的图片, 参观 绘图方式和Pygame有很大不同,Pygame是通过场景与场景的快速变换体现事物的变化,而Turtle更像我们生活中的绘画,每一画依次完成。假设一个机器人在(0,0),我们对其有各种...
  • 一、先上图一个同切圆和五角星上代码import turtle#同切圆turtle.pensize(2)turtle.circle(10)turtle.circle(40)turtle.circle(80)turtle.circle(160)#五角星from turtle import *color('red','yellow')begin_fill()...
  • 用了Pythonturtle package,仿照这个网站的代码:Layer Cake using Python Turtle?www.101computing.net我自己改了一个:trinket: run code anywhere?trinket.io可能是外网,国内小伙伴戳不进去,我这里附上代码:...
  • python中有一个叫turtle的模块,它本来是用作提升初学者兴趣的,这里简单的演示其使用方法: 画奥运五环: 这里还有一个python documentation中的示例,绘制星形: 有兴趣的朋友,可以翻看文档,里面...
  • 语言:PythonIDE:Python.IDE需求做出彩虹效果颜色空间RGB模型:光的三原色,共同决定色相HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相需要将HSB模型转换为RGB模型代码示例:#-*- coding:utf-8 –*-from turtle ...
  • 原标题:[专题]在Python教学中应用turtle创意编程实践创意编程是用编程实现自己创意的过程。在2017年的信息技术新课程标准中,计算思维是信息技术的核心素养。计算思维是指利用计算机科学领域的思想方法,在形成问题...
  • python turtle 绘制创意梅花

    千次阅读 多人点赞 2019-10-25 21:29:50
    """ author:魏振东 ...func:绘制创意图形 """ from turtle import * from random import * #画雪花 def drawSnow(): hideturtle() pensize(2) for i in range(20): pencolor("white") ...
  • 对于一开始学习Python的同学来说,强烈给大家安利...在我们之前的文章中有一些教程,你可以在这里看:1.Python教程|小小turtle绘图教学(一)2.Python教程|万圣节快乐!30行代码带你画一只蝙蝠!3.中秋佳节!小乐...
  • 原标题:使用Pythonturtle画炫酷图形例子一:import turtlet = turtle.Pen()turtle.bgcolor("black")sides=6colors=["red","yellow","green","blue","...
  • python内置库turtle绘制有趣图形

    万次阅读 多人点赞 2018-08-19 21:57:50
    import turtle t = turtle.Pen() turtle.bgcolor(&quot;black&quot;) sides = 6 colors = [&quot;red&quot;, &quot;yellow&quot;, &quot;green&quot;, &quot;blue&quot;, ...
  • 有趣的python实践案例(二)—turtle库绘画案例 前言 天线宝宝之后竟是樱花树?继上次介绍有趣的动态二维码之后,这次奇趣多多要向大家介绍懒鬼画画工具——turtle库! 顾名思义,turtle库其实就是一只勤劳的小...
  • 1.环境pip install turtal如果安装失败:1.1 wget turtal的下载地址,自行解压, 按照提示更改, 更改完成--> pip install -e ".../usr/lib/python3.6/turtle.py", line 107, in import tki...
  • 引入模块 Python标准库里有一个非常有趣可以画画的小模块叫turtle(海龟),我们先引入这个模块 import turtle#从标准库里面引入turtle def draw_art(): window=turtle.Screen()#获得一个窗口句柄 window.bgcolor("blue...
  • Python-turtle库作图可以画出哪些漂亮的树?

    千次阅读 多人点赞 2019-02-27 17:03:02
    from turtle import * from random import * from math import * def tree(n, l): pd() # 下笔 # 阴影效果 t = cos(radians(heading() + 45)) / 8 + 0.25 pencolor(t, t, t) pensize(n / 4) ...
  • Python turtle库绘制复杂漫威蜘蛛侠Spiderman

    万次阅读 多人点赞 2019-08-07 19:30:27
    演示效果 ...from turtle import * speed(13) //绘画速度控制 bgcolor("#990000") pensize(10) penup() goto(0,50) pendown() circle(-120) penup() circle(-120,-60) pendown() pensiz...
  • 原标题:[专题]在Python教学中应用turtle创意编程实践创意编程是用编程实现自己创意的过程。在2017年的信息技术新课程标准中,计算思维是信息技术的核心素养。计算思维是指利用计算机科学领域的思想方法,在形成问题...

空空如也

空空如也

1 2 3 4 5 6
收藏数 103
精华内容 41
关键字:

pythonturtle创意绘图

python 订阅