#!/usr/bin/env python
# coding: utf-8
import turtle
import random
from turtle import *
from time import sleep
# t = turtle.Turtle()
# w = turtle.Screen()
def tree(branchLen, t):
if branchLen > 3:
if 8 <= branchLen <= 12:
if random.randint(0, 2) == 0:
t.color('snow')
else:
t.color('lightcoral')
t.pensize(branchLen / 3)
elif branchLen < 8:
if random.randint(0, 1) == 0:
t.color('snow')
else:
t.color('lightcoral')
t.pensize(branchLen / 2)
else:
t.color('sienna')
t.pensize(branchLen / 10)
t.forward(branchLen)
a = 1.5 * random.random()
t.right(20*a)
b = 1.5 * random.random()
tree(branchLen-10*b, t)
t.left(40*a)
tree(branchLen-10*b, t)
t.right(20*a)
t.up()
t.backward(branchLen)
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)
def RUN(n_sleep=12):
# print('>>>> Running...')
print("代码的齿轮开始转动...\n\n用鼠标迅速的在电脑最下方的地址栏中点击,\n\n看下有没有一个【左上角写着Python Turtle Graphics】的小小小窗口\n\n快快快!!!\n")
t = turtle.Turtle()
w = turtle.Screen()
# 设置 Turtle 的速度
t.speed('slow') # 或者使用一个介于 1 和 10 之间的数字
t = turtle.Turtle()
myWin = turtle.Screen()
getscreen().tracer(5, 0)
turtle.screensize(bg='wheat')
# 先在屏幕上方写字
t.up()
t.goto(0, 50) # 将文字位置设置在屏幕上方
t.write("来啦!\n\n代码运行中\n\n接下来是见证奇迹的时刻...", align="center", font=("Arial", 18, "normal"))
n_sleep = n_sleep if 5 < n_sleep < 15 else 5
sleep(n_sleep) # 休眠 n 秒
# 删除文字
t.clear() # 清除画布上的文字
t.left(90)
t.up()
t.backward(180) # 将起始位置150向下调整
t.down()
t.color('sienna')
tree(60, t)
petal(100, t)
# 写字
t.up()
t.goto(0, -250) # 调整文字显示的位置,向下移动到图片下方
t.color('black') # 设置文字颜色
t.write("向前走,希望之光会出现", align="center", font=("Arial", 18, "normal")) # 写文字
myWin.update()
myWin.exitonclick()
RUN()
效果如下图所示: