Python-turtle库画樱花树

简介: 但是因为代码不能够运行,出现了比较多的问题,所以重新进行了修改下面是主要的代码和效果图:

本文代码来自下面链接:

https://blog.csdn.net/July__July/article/details/99543992


但是因为代码不能够运行,出现了比较多的问题,所以重新进行了修改

下面是主要的代码和效果图:


20210616204453917.png

import turtle as t
from random import *
from math import *
def draw(n, l):
    t.setup(1000, 800)
    t.pd() # 阴影效果
    tt = cos(radians(t.heading() + 45)) / 8 + 0.25
    t.pencolor(tt, tt, tt)
    t.pensize(n / 3)
    t.forward(l)
    if n > 0:
        b = random() * 15 + 10
        c = random() * 15 + 10
        d = l * (random() * 0.25 + 0.7)
        # 右转一定角度,画右分支
        t.right(b)
        draw(n - 1, d) # 左转一定角度,画左分支
        t.left(b + c)
        draw(n - 1, d)
        t.right(c)
    else: # 画叶子
        t.right(90)
        n = cos(radians(t.heading() - 45)) / 4 + 0.5
        t.pencolor(n, n * 0.8, n * 0.8)
        t.circle(3)
        t.left(90)# 添加0.3倍的飘落叶子
        if random() > 0.7:
            t.pu()# 飘落
            tt = t.heading()
            an = -40 + random() * 40
            t.setheading(an)
            dis = int(800 * random() * 0.5 + 400 * random() * 0.3 + 200 * random() * 0.2)
            t.forward(dis)
            t.setheading(tt)# 画叶子
            t.pd()
            t.right(90)
            n = cos(radians(t.heading() - 45)) / 4 + 0.5
            t.pencolor(n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4)
            t.circle(2)
            t.left(90)
            t.pu() # 返回
            tt = t.heading()
            t.setheading(an)
            t.backward(dis)
            t.setheading(tt)
    t.pu()
    t.backward(l)
# t.bgcolor(0.5, 0.5, 0.5)
t.bgcolor('pink') #255.0, 192.0, 203.0
t.ht()
t.speed(0)
t.tracer(0, 0)
t.pu()
t.backward(100)
t.left(90)
t.pu()
t.backward(300)
draw(12, 100)
t.done()
目录
相关文章
|
21小时前
|
网络协议 数据处理 调度
深入探索Python异步编程:asyncio库的应用与实践
在现代软件开发中,异步编程已成为处理并发和I/O密集型任务的重要策略。本文将带您深入探索Python的asyncio库,解析其背后的设计原理,并通过实例展示如何在实际项目中应用asyncio实现高效的异步编程。我们不仅会探讨asyncio的基本用法,还会分析其性能优势,并探讨其与其他并发模型的比较。此外,文章还将涵盖asyncio在Web开发、网络编程和数据处理等场景中的应用案例,帮助您更好地理解并掌握这一强大的异步编程工具。
|
1天前
|
程序员 Python
tesseract库的安装与使用及在python中使用,Python程序员秋招三面蚂蚁金服
tesseract库的安装与使用及在python中使用,Python程序员秋招三面蚂蚁金服
|
1天前
|
Python
Python基础教程: math库常用函数(1),Python这些高端技术只有你还不知道
Python基础教程: math库常用函数(1),Python这些高端技术只有你还不知道
|
1天前
|
Python
使用Python的openpyxl库
【5月更文挑战第17天】使用Python的openpyxl库
11 2
|
2天前
|
数据可视化 Python
Python----matplotlib库
Python----matplotlib库
8 1
|
2天前
|
监控 调度 开发者
Python 中的异步编程:理解 asyncio 库的基本原理与应用
本文将深入探讨 Python 中的异步编程技术,重点介绍 asyncio 库的基本原理与应用。通过解释事件循环、协程和 Future 对象的概念,读者将能够理解异步编程的工作原理,并学会如何利用 asyncio 库提高程序的性能和效率。本文还将通过实际示例演示如何使用 asyncio 库来处理 I/O 密集型任务和 CPU 密集型任务,以及如何避免常见的陷阱和错误。
|
2天前
|
调度 UED Python
Python 中的异步编程:理解 asyncio 库的基本原理与应用
本文探讨了 Python 中的异步编程,重点介绍了 asyncio 库的基本原理与应用。通过分析事件循环、协程以及异步/await 关键字的作用机制,读者将能够深入理解异步编程的工作方式,并学会如何利用 asyncio 库构建高效的异步应用程序。同时,本文还介绍了一些实际案例,帮助读者更好地掌握 asyncio 库的实际应用。
|
2天前
Python---random库
Python---random库
5 1
|
2天前
|
SQL 开发框架 .NET
Python---time库
Python---time库
9 2
Python---time库
|
3天前
|
数据采集 数据可视化 数据挖掘
利用Python和Pandas库优化数据分析流程
在当今数据驱动的时代,数据分析已成为企业和个人决策的重要依据。Python作为一种强大且易于上手的编程语言,配合Pandas这一功能丰富的数据处理库,极大地简化了数据分析的流程。本文将探讨如何利用Python和Pandas库进行高效的数据清洗、转换、聚合以及可视化,从而优化数据分析的流程,提高数据分析的效率和准确性。