码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python 樱花


    Python实现樱花

    效果图    (源码在下面)

    源码:

    1. from turtle import *
    2. from random import *
    3. from math import *
    4. def tree(n, l):
    5. pd() # 下笔
    6. # 阴影效果
    7. t = cos(radians(heading() + 45)) / 8 + 0.25
    8. pencolor(t, t, t)
    9. pensize(n / 3)
    10. forward(l) # 画树枝
    11. if n > 0:
    12. b = random() * 15 + 10 # 右分支偏转角度
    13. c = random() * 15 + 10 # 左分支偏转角度
    14. d = l * (random() * 0.25 + 0.7) # 下一个分支的长度
    15. # 右转一定角度,画右分支
    16. right(b)
    17. tree(n - 1, d)
    18. # 左转一定角度,画左分支
    19. left(b + c)
    20. tree(n - 1, d)
    21. # 转回来
    22. right(c)
    23. else:
    24. # 画叶子
    25. right(90)
    26. n = cos(radians(heading() - 45)) / 4 + 0.5
    27. ran = random()
    28. # 这里相比于原来随机添加了填充的圆圈,让樱花叶子看起来更多一点
    29. if (ran > 0.7):
    30. begin_fill()
    31. circle(3)
    32. fillcolor('pink')
    33. # 把原来随机生成的叶子换成了统一的粉色
    34. pencolor("pink")
    35. circle(3)
    36. if (ran > 0.7):
    37. end_fill()
    38. left(90)
    39. # 添加0.3倍的飘落叶子
    40. if (random() > 0.7):
    41. pu()
    42. # 飘落
    43. t = heading()
    44. an = -40 + random() * 40
    45. setheading(an)
    46. dis = int(800 * random() * 0.5 + 400 * random() * 0.3 + 200 * random() * 0.2)
    47. forward(dis)
    48. setheading(t)
    49. # 画叶子
    50. pd()
    51. right(90)
    52. n = cos(radians(heading() - 45)) / 4 + 0.5
    53. pencolor(n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4)
    54. circle(2)
    55. left(90)
    56. pu()
    57. # 返回
    58. t = heading()
    59. setheading(an)
    60. backward(dis)
    61. setheading(t)
    62. pu()
    63. backward(l) # 退回
    64. bgcolor(0.956, 0.9255, 0.9882) # 设置背景色(把灰色换成淡紫色)
    65. ht() # 隐藏turtle
    66. speed(0) # 速度 1-10渐进,0 最快
    67. tracer(0, 0)
    68. pu() # 抬笔
    69. backward(50)
    70. left(90) # 左转90度
    71. pu() # 抬笔
    72. backward(300) # 后退300
    73. tree(12, 100) # 递归7层
    74. done()
  • 相关阅读:
    亚马逊自养号进行买家测评需要注意什么?
    一键批量视频剪辑、合并,省时省力,制作专业视频
    多云管理平台发展的几个阶段
    【JAVA类】利用接口的多继承实现———图书管理系统【附源码】
    Web开发学习-HTML
    多水站送水桶装水配送员公众号H5开发
    工业控制系统协议的安全性
    动态规划算法(4)01背包问题
    头戴式耳机什么牌子最好?头戴式耳机推荐性价比高
    2022,开发转测试,会不会后悔?
  • 原文地址:https://blog.csdn.net/weixin_45925028/article/details/133703921
  • 最新文章
  • 托管 Agent 执行循环只是起点,AgentRun 托管的更是企业 AI 生产全链路
    霍尔定理和最大流算法 入门
    To B 定位,是要回答好这四个问题
    APIO2026 优纪
    2026 年 .NET 客户端常用 MVVM 框架推荐
    二进制安装Kubernetes(k8s)v1.36.0
    OpenCode 对接实践:从独立进程到共享 Runtime 的架构演进
    Redis--Redis分布式系统的原理与实操
    V8引擎 精品漫游指南--Ignition篇(下 二) JavaScript 栈帧详解
    【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号