今天继续看Python,发现一个绘图的包turtle,非常简单和有趣。turtle(中文海龟的意思,可能因为默认的demo有一只乌龟),据说海龟绘图以“最适合教给孩子的编程语言”而闻名。
从Python2.5开始,turtle被包含在Python库中,官网文档在:turtle — Turtle graphics for Tk
下面给出一个实例,这是一个画五角星的简单demo:
# -*- coding: utf-8 -*- import turtle import time turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.right(144) time.sleep(3)
在使用中发现一个问题:
错误框标题是Microsoft Visual C++ Runtime Library 内容是:Runtime Error! Program c:\Python27\python.exe R6025 -pure virtual function call
网上找了一下,比较靠谱的解释:Runtime Error! R6025 pure virtual function call
下面再给出一个复杂的demo,画一个圆再画出多个正方形:
# -*- coding: utf-8 -*- # the turtle module provides turtle graphics primitives, it uses a Tkinter canvas # turtle is part of the Tkinter library (lib-tk) # tested with Python24 vegaseat 30jun2005 from turtle import * import time # pen/turtle starts at the center (x=0, y=0) of the turtle display area color("green") # pen up, don't draw up() # centers the circle goto(0,-50) # pen down, draw down() # radius=50 center is 50 radius units above the turtle circle(50) up() # center the turtle again goto(0,0) down() # draw blue 100x100 squares color("blue") for deg in range(0, 61, 6): right(90 + deg) forward(100) right(90) forward(100) right(90) forward(100) right(90) forward(100) up() goto(-150,-120) color("red") write("Done!") time.sleep(5) # wait 5 seconds
也可以在IDLE命令行中使用turtle,用命令的方式演示绘图:
>>> from turtle import * >>> reset() >>> shape("square") >>> color("blue", "red") >>> resizemode("user") # at first no visual effect, but ... >>> turtlesize(2,3,5) >>> fd(100) >>> left(45) >>> pensize(8) >>> fd(100) >>> left(90) >>> pencolor("green") >>> fd(100) >>> turtlesize(1,5) >>> left(1080) >>> stamp() 8 >>> left(45) >>> ht() >>> fd(100) >>> stamp() 9 >>> left(45) >>> fd(100) >>> stamp() 10 >>>