当前位置: 首页 > news >正文

脚本:python实现樱花树

文章目录

  • 代码
  • 效果

代码

from turtle import *
from random import *
from math import *
def tree(n, l):pd ()  # 下笔# 阴影效果t = cos ( radians ( heading () + 45 ) ) / 8 + 0.25pencolor ( t, t, t )pensize ( n / 3 )forward ( l )  # 画树枝if n > 0:b = random () * 15 + 10  # 右分支偏转角度c = random () * 15 + 10  # 左分支偏转角度d = l * (random () * 0.25 + 0.7)  # 下一个分支的长度# 右转一定角度,画右分支right ( b )tree ( n - 1, d )# 左转一定角度,画左分支left ( b + c )tree ( n - 1, d )# 转回来right ( c )else:# 画叶子right ( 90 )n = cos ( radians ( heading () - 45 ) ) / 4 + 0.5ran = random ()# 这里相比于原来随机添加了填充的圆圈,让樱花叶子看起来更多一点if (ran > 0.7):begin_fill ()circle ( 3 )fillcolor ( 'pink' )# 把原来随机生成的叶子换成了统一的粉色pencolor ( "pink" )circle ( 3 )if (ran > 0.7):end_fill ()left ( 90 )# 添加0.3倍的飘落叶子if (random () > 0.7):pu ()# 飘落t = heading ()an = -40 + random () * 40setheading ( an )dis = int ( 800 * random () * 0.5 + 400 * random () * 0.3 + 200 * random () * 0.2 )forward ( dis )setheading ( t )# 画叶子pd ()right ( 90 )n = cos ( radians ( heading () - 45 ) ) / 4 + 0.5pencolor ( n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4 )circle ( 2 )left ( 90 )pu ()# 返回t = heading ()setheading ( an )backward ( dis )setheading ( t )pu ()backward ( l )  # 退回bgcolor ( 0.956, 0.9255, 0.9882 )  # 设置背景色(把灰色换成淡紫色)
ht ()  # 隐藏turtle
speed ( 0 )  # 速度 1-10渐进,0 最快
tracer ( 0, 0 )
pu ()  # 抬笔
backward ( 50 )
left ( 90 )  # 左转90度
pu ()  # 抬笔
backward ( 300 )  # 后退300
tree ( 12, 100 )  # 递归7层
done ()

效果

在这里插入图片描述

相关文章:

脚本:python实现樱花树

文章目录 代码效果 代码 from turtle import * from random import * from math import * def tree(n, l):pd () # 下笔# 阴影效果t cos ( radians ( heading () 45 ) ) / 8 0.25pencolor ( t, t, t )pensize ( n / 3 )forward ( l ) # 画树枝if n > 0:b random () *…...

公司内部传文件怎么安全——「用绿盾透明加密软件」

为保证公司内部文件传递的安全性,可以使用天锐绿盾透明加密软件来进行保护。以下是具体的操作步骤: 在公司内部部署天锐绿盾加密软件,确保需要传递的文件都能受到加密保护。 在员工的工作电脑上安装天锐绿盾客户端,并设置好相关的…...

提高使用VS Code工作效率的技巧

提高使用VS Code工作效率的技巧 时间轴视图:本地源代码控制 时间轴视图为我们提供了内置的源代码控制。 我们中的许多人都知道 Git 和其他源代码控制工具有多么有用,它们可以帮助我们轻松跟踪文件更改并在需要时恢复到之前的状态。 因此,…...

软件系统兼容性测试都要注意哪些问题?

兼容性 软件兼容性测试具有相同的含义,它是任何第三方 Web 应用程序测试服务不可分割的一部分。在众多不同的设置中,最重要的是完全的客户满意度,并且可以通过全面的兼容性测试来达到最佳效果。众所周知,软件质量保证是克服 IT 挑…...

索尼 toio™应用创意开发征文|toio俄罗斯方块游戏

目录 引言 摘要 创意简述 准备工作|手工开始 代码编写|合理集成 使用体验|近乎奇妙 引言 索尼toio™编程机器人是一款引领技术创新的产品,为开发者提供了一个全新的编程和创造平台。toio™的设计旨在将技术、塑性和乐趣融为…...

C#事件event

事件模型的5个组成部分 事件拥有者(event source)(类对象)(有些书将其称为事件发布者) 事件成员(event)(事件拥有者的成员)(事件成员就是事件本身…...

气传导耳机什么牌子好?盘点五款好用的气传导耳机分享

​对于气传导耳机,大家最关心的可能是佩戴会不会不舒服?音质好不好?会不会漏音?等问题。面对这些问题,今天我就为大家推荐几款市面上最好的气传导耳机,总有一款适合你的! ①NANK南卡00压气传导…...

业绩走低,毛利率下滑,海外市场能否成为极米科技救命稻草?

撰稿|行星 来源|贝多财经 8月30日,成都极米科技股份有限公司(SH:688696,下称“极米科技”)发布2023年半年度业绩报告。财报显示,极米科技2023年上半年的业绩出现了大幅下滑,其中收入同比减少两成&#xf…...

轻松敏捷开发流程之Scrum

Scrum是一种敏捷开发流程,它旨在使软件开发更加高效和灵活。Scrum将软件开发过程分为多个短期、可重复的阶段,称为“Sprint”。每个Sprint通常为两周,旨在完成一部分开发任务。 在Scrum中,有一个明确的角色分工: 产品…...

Vue3+Element Plus实现el-table跨行显示(非脚手架)

Vue3Element Plus实现el-table跨行显示 app组件内容使用:span-method"objectSpanMethod"自定义方法实现跨行显示查询方法初始化挂载新建一个html即可进行测试&#xff0c;完整代码如下效果图 app组件内容 <div id"app"><!-- 远程搜索 --><e…...

生成订单30分钟未支付,则自动取消,该怎么实现?

今天给大家上一盘硬菜&#xff0c;并且是支付中非常重要的一个技术解决方案&#xff0c;有这块业务的同学注意自己试一把了哈&#xff01; 在开发中&#xff0c;往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付&#xff0c;则自动取消 生成订单60秒后,给用户…...

WebGIS外包开发流程

WebGIS开发流程需要综合考虑前端和后端开发、地理信息数据处理、用户需求和安全性等多个方面。成功的WebGIS应用程序需要不断地进行更新和维护&#xff0c;以适应变化的需求和技术。WebGIS开发是一个复杂的过程&#xff0c;通常包括以下主要步骤。北京木奇移动技术有限公司&…...

pytorch学习——LSTM和GRU

参考书籍&#xff1a;https://zh-v2.d2l.ai/chapter_recurrent-modern/lstm.html 参考论文&#xff1a; https://colah.github.io/posts/2015-08-Understanding-LSTMs/ 简介&#xff1a; LSTM&#xff08;长短期记忆网络&#xff09;和GRU&#xff08;门控循环单元&#xff09;…...

【Python】Python 利用模块实现单例模式

Python 利用模块实现单例模式 在GOF的23种设计模式中&#xff0c;单例是最常使用的模式&#xff0c;通过单例模式可以保证系统中 一个类只有一个实例而且该实例易于被外界访问&#xff0c;从而方便对实例个数的控制并节约系统资 源。每当大家想要实现一个名为XxxMangcr的类时&…...

雅思写作 三小时浓缩学习顾家北 笔记总结(四)

目录 The company should provide maternity leave and other assistance to female employees with children. Community redevelopment provides opportunities for offenders to acquire vocational skills. The law should classify drunk driving as a criminal offens…...

深入学习与探索:高级数据结构与复杂算法

文章目录 学习高级数据结构B树&#xff1a;数据库引擎的骨干线段树&#xff1a;高效的区间查询Trie树&#xff1a;高效的字符串检索 探索复杂算法领域图算法&#xff1a;解决复杂网络问题字符串匹配算法&#xff1a;处理文本搜索近似算法&#xff1a;在NP难题上取得近似解 结论…...

CV:计算机视觉CV运用领域

计算机视觉是一项涉及大量算法和技术的跨学科领域&#xff0c;已经在众多领域得到广泛的应用。以下是计算机视觉的一些主要应用领域&#xff1a; 图像处理和图像分析&#xff1a;计算机视觉技术可以用于图像处理和图像分析&#xff0c;识别和检测特定的图像特征&#xff0c;例如…...

开源机密计算平台:蓬莱-OpenHarmony

演讲嘉宾 | 杜 东 回顾整理 | 廖 涛 排版校对 | 李萍萍 嘉宾简介 杜东&#xff0c;上海交通大学助理研究员。中国计算机学会CCF会员&#xff0c;ACM会员。研究兴趣为操作系统与体系结构、服务器无感知&#xff08;Serverless&#xff09;计算、系统安全。在包括ASPLOS、ISC…...

大一大二一心学算法的利弊

学习算法是现代计算机科学和软件工程领域中的重要组成部分。它们是解决复杂问题、优化资源利用以及提高效率的关键。学习算法的过程可以帮助培养系统性思维、分析问题能力和创造性解决方案的能力。然而&#xff0c;学习算法也有一些利弊&#xff0c;我们将在下文中详细探讨。 …...

c#using关键字的作用

https://blog.csdn.net/Mona_Zhao/article/details/91363446 using关键字的三种作用&#xff1a; 1. 引用命名空间&#xff1b; 2. 为命名空间或者类型创建别名&#xff1b; 3. 使用using语句。 &#xff08;1&#xff09;引用命名空间 类似于c和c的#include<>, pyt…...

Ubuntu 虚拟机 Python3 + pip 完整安装教程

文章目录一、先检查系统是否自带 Python3二、安装 Python3 和 pip&#xff08;必装&#xff09;1. 更新软件源2. 安装 python3 和 pip3. 验证安装成功三、最简单的使用方法1. 运行 Python2. 用 pip 安装第三方库&#xff08;如 requests、numpy&#xff09;3. 运行 .py 文件四、…...

革新性PDF可视化标记技术:从原理到实践的全方位解析

革新性PDF可视化标记技术&#xff1a;从原理到实践的全方位解析 【免费下载链接】obsidian-pdf-plus PDF: the most Obsidian-native PDF annotation & viewing tool ever. Comes with optional Vim keybindings. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-…...

知乎上线求职工具,助力毕业生破困局

知乎上线求职利器&#xff0c;直击毕业生痛点2026届全国普通高校毕业生预计达1270万人&#xff0c;再创历史新高。与此同时&#xff0c;AI技术加速行业重构&#xff0c;部分传统岗位需求收缩&#xff0c;大量毕业生陷入“海投”困境&#xff0c;难以精准定位自身。在此背景下&a…...

【人生底稿 03】2012 末日传说与我踏入 IT 的起点

接上《人生底稿》系列&#xff0c;本篇记录一段真实的成长碎片&#xff0c;不严格按时间线更新&#xff0c;只为记下一个农村少年&#xff0c;一步步走向社会的真实轨迹。 在参加某科技公司 ITMS 培训之前&#xff0c;我先经历了一轮面试 —— 上机题 技术面&#xff0c;分数…...

大数据在电力行业应用案例解析 -【电力技术】(25)RPA 在电力业扩报装中的自动化应用与实现

目录 一、引言:业扩报装的效率瓶颈 二、RPA 技术特点与电力适用性 三、RPA 在业扩报装中的四大核心应用场景 3.1 预受理自动审核 3.2 批量用户信息自动导入 3.3 勘查工单自动派工 3.4 流程自动流转与归档 四、RPA 实施流程(标准化) 五、典型应用成效 六、完整可运行…...

告别硬件烧钱!用Proteus仿真Arduino UNO做智能小车传感器方案选型

告别硬件烧钱&#xff01;用Proteus仿真Arduino UNO做智能小车传感器方案选型 在创客和电子竞赛领域&#xff0c;智能小车一直是热门项目&#xff0c;但高昂的硬件成本常常让爱好者望而却步。一套完整的智能车系统可能包含多个传感器、电机驱动模块和控制器&#xff0c;实体采购…...

别死记硬背了!一张图带你理清编译原理‘语法制导翻译’到‘代码优化’的核心链路

编译原理核心链路解析&#xff1a;从语法制导翻译到代码优化的实战指南 编译原理作为计算机科学的重要基石&#xff0c;常常让学习者感到知识点零散、难以形成系统认知。本文将以赋值语句为例&#xff0c;通过清晰的逻辑链路&#xff0c;展示从源代码到优化代码的完整编译过程&…...

STM32L152C段式LCD驱动库深度解析与移植指南

1. 项目概述LCD_DISCO_L152C是专为 STM32L152C-DISCO 开发板设计的 LCD 驱动库&#xff0c;其核心目标是提供轻量、可靠、可移植的底层显示控制能力。该库并非从零构建&#xff0c;而是基于 ST 官方为 STM32L476VG-DISCO&#xff08;如 NUCLEO-L476RG 或 DISCOVERY-BOARD-L476V…...

保姆级教程:用STM32F103C8T6(CUBEMX HAL库)读取航模遥控器PPM信号,附完整代码

低成本STM32F103C8T6读取航模PPM信号实战指南 航模遥控器的PPM信号解析一直是DIY爱好者的热门话题。相比昂贵的专用解码器&#xff0c;一块十几元的STM32F103C8T6开发板就能实现相同功能。本文将手把手教你用最常见的"蓝板"完成从硬件连接到代码调试的全过程。 1. 硬…...

DLSS Swapper完整指南:掌握游戏性能优化的终极工具

DLSS Swapper完整指南&#xff1a;掌握游戏性能优化的终极工具 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款革命性的游戏性能优化工具&#xff0c;专为现代PC游戏玩家设计。这款开源软件让您能够…...