python代码画樱花教程,idlepython代码画樱花

2023-11-28 06:59

本文主要是介绍python代码画樱花教程,idlepython代码画樱花,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇文章主要介绍了python代码画樱花教程,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

还记得在大学时,靠近西边有一片特别大的樱花园,每到3-4月,樱花开了,美的啊!那片区域特别多学妹与学姐来拍照,男生个个面如带花,实际心如一头狼,就想偶遇个小学妹,不怕嘲笑,我也去蹲点过,还幸运的与校园女神产生了一见钟情,对的,他看上了我,还拉住我的手在樱花园里述说着情话,那娇羞的表情,告诉我梦里什么都有。

樱花林
在这里插入图片描述
在这里插入图片描述
了解命令说明,有利于了解源码是怎么运行的

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)笔墨颜色为 color
circle®画一个半径为 r 的圆

源码分享

可以直接复制下面的源码去运行,不会出错AI同义句转换好用的句子同义替换软件。

import turtlefrom random import random
from random import randintdef 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 = 4if 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 <= branch <= 16:# 以0.33的概率,分为左、中、右分支if randint(0, 2) == 0:# 左为白色turtle_obj.pencolor("snow")else:# 中、右为珊瑚色turtle_obj.pencolor("lightcoral")# 树枝turtle_obj.pensize(branch / 4)else:# 褐色turtle_obj.pencolor(tree_color)# 细枝turtle_obj.pensize(branch / 10)# 最开始的树干长度turtle_obj.forward(branch)# 随机度数因子a = 1.5 * random()# 顺时针旋转随机角度(0~30度)turtle_obj.right(20 * a)# 随机长度因子b = 1.5 * random()# 往右画,直到画不动为止draw_tree(turtle_obj, branch - 10 * b, tree_color)# 左转随机角度turtle_obj.left(40 * a)# 往左画,直到画不动位置draw_tree(turtle_obj, branch - 10 * b, tree_color)# 右转一定角度turtle_obj.right(20 * a)# 提笔turtle_obj.penup()# 递归结束回到起点turtle_obj.backward(branch)turtle_obj.pendown()def get_screen(width, height, color, speed):# 创建画幕screen_obj = turtle.Screen()# 画布大小:(width, height),颜色:colorscreen_obj.screensize(width, height, bg=color)screen_obj.setup(1.0, 1.0)# speed倍加速screen_obj.tracer(speed)return screen_obj# 绘制多棵树
def trees(tree_num):# 颜色color = ['brown', 'tan', 'black']for j in range(tree_num):# 树干颜色tree_color = color[randint(0, len(color) - 1)]# 画笔大小pensize = randint(2, 5)# 前进像素forward = ((-1) ** pensize) * pensize * randint(20, 50)# 后退像素if pensize <= 3:backward = ((-1) ** pensize) * (5 - pensize) * randint(10, 15)else:backward = pensize * randint(45, 50)# 创建画笔turtle_obj = turtle.Turtle()# 画笔粗细turtle_obj.pensize(pensize)# 提笔,向前forward,左转90,backward,落笔turtle_obj.penup()turtle_obj.forward(forward)turtle_obj.left(90)turtle_obj.backward(backward)turtle_obj.pendown()# 画笔颜色:褐色turtle_obj.pencolor(tree_color)# 枝干粗细branch = pensize * 15# 落花数flowers = branch# 第j棵树draw_tree(turtle_obj, branch, tree_color)# 花瓣draw_petal(turtle_obj, flowers)if __name__ == '__main__':# 创建画幕my_screen_width = 800my_screen_height = 600my_screen_color = 'wheat'my_screen_speed = 5my_screen_obj = get_screen(my_screen_width, my_screen_height,my_screen_color, my_screen_speed)# 樱花树# 棵数my_tree_num = 5trees(my_tree_num)# 点击关闭画布my_screen_obj.exitonclick()

在这里插入图片描述

你们的三连(点赞,收藏,评论)是我持续输出的动力。
在兴趣中学习,效益超乎想象,有趣的源码与学习经验,工具安装包,欢迎加我的微信号:bobin1124,一起交流学习与分享。

这篇关于python代码画樱花教程,idlepython代码画樱花的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/429249

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1