前言 turtle(海龟库)是python的一个绘制图像的函数库,它就像海龟一样,给定指令和坐标,在画布坐标系中一步一步绘制出你想要的图形,比如小猪佩奇、哆啦A梦、皮卡丘等。
但是在Windows电脑本地直接进行安装时候会出现错误: pip install turtle
会出现错误
从浏览器下载turtle压缩包
https://files.pythonhosted.org/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz
把文件压缩包进行解压,然后在对里面setup.py文件进行修改:
修改第40行代码如下(其实就是增加了括号,python2的语法格式是没有括号的,但是python3没有括号就会报错,就像print函数)
except (ValueError, ve):
然后进入cmd命令窗口进行:再用pip安装,此处 pip install 后面接的是你修改好的turtle文件夹所在位置
pip install C:\Users\XXX\Desktop\turtle-0.0.2
安装完成后进入python命令行验证: import turtle
在桌面右击新建文本文档将demon代码复制进去并保存,修改文件后缀为 .py 文件
cmd命令窗口cd 到文件处执行: python 文件名.py 即可
提供两个好看的demon:
玫瑰花效果图:
代码:
import turtle
import time
turtle.speed(5)
# 设置初始位置
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)
# 花蕊
turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(10, 180)
turtle.circle(25, 110)
turtle.left(50)
turtle.circle(60, 45)
turtle.circle(20, 170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30, 110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90, 70)
turtle.circle(30, 150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80, 90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150, 80)
turtle.left(50)
turtle.circle(150, 90)
turtle.end_fill()
# 花瓣1
turtle.left(150)
turtle.circle(-90, 70)
turtle.left(20)
turtle.circle(75, 105)
turtle.setheading(60)
turtle.circle(80, 98)
turtle.circle(-90, 40)
# 花瓣2
turtle.left(180)
turtle.circle(90, 40)
turtle.circle(-80, 98)
turtle.setheading(-83)
# 叶子1
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)
# 叶子2
turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200, 60)
# 不关闭窗口
turtle.exitonclick()
樱花树效果图:
代码:
import turtle asT
import random
import time
# 画樱花的躯干(60,t)
def Tree(branch, t):
time.sleep(0.0005)if branch > 3:if 8 <= branch <= 12:if random.randint(0, 2) == 0:
t.color('snow') # 白else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branch/ 3)
elif branch< 8:if random.randint(0, 1) == 0:
t.color('snow')else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branch/ 2)else:
t.color('sienna') # 赭(zhě)色
t.pensize(branch/ 10) # 6t.forward(branch)
a= 1.5 *random.random()
t.right(20 *a)
b= 1.5 *random.random()
Tree(branch- 10 *b, t)
t.left(40 *a)
Tree(branch- 10 *b, t)
t.right(20 *a)
t.up()
t.backward(branch)
t.down()
# 掉落的花瓣
def Petal(m, t):for i inrange(m):
a= 200 - 400 *random.random()
b= 10 - 20 *random.random()
t.up()
t.forward(b)
t.left(90)
t.forward(a)
t.down()
t.color('lightcoral') # 淡珊瑚色
t.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
# 绘图区域
t=T.Turtle()
# 画布大小
w=T.Screen()
t.hideturtle() # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat') # wheat小麦
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')
# 画樱花的躯干
Tree(60, t)
# 掉落的花瓣
Petal(200, t)
w.exitonclick() # 不关闭窗口