小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
樱花树
了解命令说明,有利于了解源码是怎么运行的
screensize(width, height, bg=color)设置画幕大小及颜色setup(p1, p2)设置画幕大小,当 p1、p2 为小数表示屏幕占比;当 p1、p2 为整数表示像素tracer(speed)设置绘制速度,speed越大表示绘制速度越快penup()起笔(可以想象成画画的时候沾墨之后提笔)forward()向前移动backward()向后移动left(degree)逆时针旋转 degree 度right(degree)顺时针旋转 degree 度pendown()落笔pencolor(color)笔墨颜色为 colorcircle(r)画一个半径为 r 的圆
源码分享
可以直接复制下面的源码去运行,不会出错。
import turtle
from random import random
from random import randint
def draw_petal(turtle_obj, flower):
# 绘制掉落的花瓣
for i in range(int(flower)):
# 有正有负就可以让画笔往二个方向走
x = flower - 4 * flower * random()
# 花瓣整体宽度(-10, 10)
y = 10 - 20 * random()
# 提笔,向前y,左转90,走x,落笔
turtle_obj.penup()
turtle_obj.forward(y)
turtle_obj.left(90)
turtle_obj.forward(x)
turtle_obj.pendown()
# 珊瑚色
turtle_obj.pencolor("lightcoral")
# 画圆
turtle_obj.circle(1)
# 回到起点
# 提笔,后退x,右转90,后退y,落笔
turtle_obj.penup()
turtle_obj.backward(x)
turtle_obj.right(90)
turtle_obj.backward(y)
turtle_obj.pendown()
# 画树枝部分
def draw_tree(turtle_obj, branch, tree_color):
# 设置一个最小分支长度
min_branch = 4
if branch > min_branch:
if branch < 8:
# 以0.5的概率,向左、右分支
if randint(0, 1) == 0:
# 左为白色
turtle_obj.pencolor("snow")
else:
# 右为珊瑚色
turtle_obj.pencolor("lightcoral")
# 枝干
turtle_obj.pensize(branch / 2)
elif 8 |