网络编程
位置:首页>> 网络编程>> Python编程>> python3实现用turtle模块画一棵随机樱花树

python3实现用turtle模块画一棵随机樱花树

作者:执笔写回憶  发布时间:2023-11-30 06:04:07 

标签:python3,turtle,樱花树

废话不多说了,直接上代码吧!


#!/usr/bin/env python
# coding=utf-8
# 画一棵樱花

import turtle
import random
from turtle import *
from time import sleep

# 画樱花的躯干(60,t)
def tree(branchLen,t):
 sleep(0.0005)
 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') # 赭(zhě)色
     t.pensize(branchLen / 10) # 6
   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 main():
 # 绘图区域
 t = turtle.Turtle()
 # 画布大小
 w = turtle.Screen()
 t.hideturtle() # 隐藏画笔
 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()

main()

python3实现用turtle模块画一棵随机樱花树

来源:https://blog.csdn.net/z564359805/article/details/85861481

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com