樱花树:
效果图:
import turtle as T 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) # 6 t.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 in range(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()
佩奇
效果图:
from turtle import * def nose(x, y): # 鼻子 penup() # 提起笔 goto(x, y) # 定位 pendown() # 落笔,开始画 setheading(-30) # 将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南) begin_fill() # 准备开始填充图形 a = 0.4 for i in range(120): if 0 <= i < 30 or 60 <= i < 90: a = a + 0.08 left(3) # 向左转3度 forward(a) # 向前走a的步长 else: a = a - 0.08 left(3) forward(a) end_fill() # 填充完成 penup() setheading(90) forward(25) setheading(0) forward(10) pendown() pencolor(255, 155, 192) # 画笔颜色 setheading(10) begin_fill() circle(5) color(160, 82, 45) # 返回或设置pencolor和fillcolor end_fill() penup() setheading(0) forward(20) pendown() pencolor(255, 155, 192) setheading(10) begin_fill() circle(5) color(160, 82, 45) end_fill() def head(x, y): # 头 color((255, 155, 192), "pink") penup() goto(x, y) setheading(0) pendown() begin_fill() setheading(180) circle(300, -30) circle(100, -60) circle(80, -100) circle(150, -20) circle(60, -95) setheading(161) circle(-300, 15) penup() goto(-100, 100) pendown() setheading(-30) a = 0.4 for i in range(60): if 0 <= i < 30 or 60 <= i < 90: a = a + 0.08 lt(3) # 向左转3度 fd(a) # 向前走a的步长 else: a = a - 0.08 lt(3) fd(a) end_fill() def ears(x, y): # 耳朵 color((255, 155, 192), "pink") penup() goto(x, y) pendown() begin_fill() setheading(100) circle(-50, 50) circle(-10, 120) circle(-50, 54) end_fill() penup() setheading(90) forward(-12) setheading(0) forward(30) pendown() begin_fill() setheading(100) circle(-50, 50) circle(-10, 120) circle(-50, 56) end_fill() def eyes(x, y): # 眼睛 color((255, 155, 192), "white") penup() setheading(90) forward(-20) setheading(0) forward(-95) pendown() begin_fill() circle(15) end_fill() color("black") penup() setheading(90) forward(12) setheading(0) forward(-3) pendown() begin_fill() circle(3) end_fill() color((255, 155, 192), "white") penup() seth(90) forward(-25) seth(0) forward(40) pendown() begin_fill() circle(15) end_fill() color("black") penup() setheading(90) forward(12) setheading(0) forward(-3) pendown() begin_fill() circle(3) end_fill() def cheek(x, y): # 腮 color((255, 155, 192)) penup() goto(x, y) pendown() setheading(0) begin_fill() circle(30) end_fill() def mouth(x, y): # 嘴 color(239, 69, 19) penup() goto(x, y) pendown() setheading(-80) circle(30, 40) circle(40, 80) def setting(): # 参数设置 pensize(4) hideturtle() # 使乌龟无形(隐藏) colormode(255) # 将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内 color((255, 155, 192), "pink") setup(840, 500) speed(10) def main(): setting() # 画布、画笔设置 nose(-100, 100) # 鼻子 head(-69, 167) # 头 ears(0, 160) # 耳朵 eyes(0, 140) # 眼睛 cheek(80, 10) # 腮 mouth(-20, 30) # 嘴 done() if __name__ == '__main__': main()