用python制作专属生日蛋糕

1.原文来自yk坤帝,觉得好玩就记录下来了 


import turtle as t
import math as m
import random as rdef drawX(a, i):angle = m.radians(i)return a * m.cos(angle)def drawY(b, i):angle = m.radians(i)return b * m.sin(angle)# 设置背景颜色,窗口位置以及大小
t.bgcolor("#d3dae8")
t.setup(1000, 800)
t.penup()
t.goto(150, 0)
t.pendown()
# 1
t.pencolor("white")
t.begin_fill()
for i in range(360):x = drawX(150, i)y = drawY(60, i)t.goto(x, y)
t.fillcolor("#fef5f7")
t.end_fill()
# 2
t.begin_fill()
for i in range(180):x = drawX(150, -i)y = drawY(70, -i)t.goto(x, y)
for i in range(180, 360):x = drawX(150, i)y = drawY(60, i)t.goto(x, y)
t.fillcolor("#f2d7dd")
t.end_fill()# 3
t.pu()
t.goto(120, 0)
t.pd()
t.begin_fill()
for i in range(360):x = drawX(120, i)y = drawY(48, i)t.goto(x, y)
t.fillcolor("#cbd9f9")
t.end_fill()
# 4
t.begin_fill()
t.pencolor("#fee48c")
for i in range(540):x = drawX(120, i)y = drawY(48, i) + 70t.goto(x, y)
t.goto(-120, 0)
t.fillcolor("#cbd9f9")
t.end_fill()
# 5
t.pu()
t.goto(120, 70)
t.pd()
t.pencolor("#fff0f3")
t.begin_fill()
for i in range(360):x = drawX(120, i)y = drawY(48, i) + 70t.goto(x, y)
t.fillcolor("#fff0f3")
t.end_fill()
# 6
t.pu()
t.goto(110, 70)
t.pd()
t.pencolor("#fff9fb")
t.begin_fill()
for i in range(360):x = drawX(110, i)y = drawY(44, i) + 70t.goto(x, y)
t.fillcolor("#fff9fb")
t.end_fill()
# 7
t.pu()
t.goto(120, 0)
t.pd()
t.begin_fill()
t.pencolor("#ffa79d")
for i in range(180):x = drawX(120, -i)y = drawY(48, -i) + 10t.goto(x, y)
t.goto(-120, 0)
for i in range(180, 360):x = drawX(120, i)y = drawY(48, i)t.goto(x, y)
t.fillcolor("#ffa79d")
t.end_fill()
# 8
t.pu()
t.goto(120, 70)
t.pd()
t.begin_fill()
t.pensize(4)
t.pencolor("#fff0f3")
for i in range(1800):x = drawX(120, 0.1 * i)y = drawY(-18, i) + 10t.goto(x, y)
t.goto(-120, 70)
t.pensize(1)
for i in range(180, 360):x = drawX(120, i)y = drawY(48, i) + 70t.goto(x, y)
t.fillcolor("#fff0f3")
t.end_fill()
# 9
t.pu()
t.goto(80, 70)
t.pd()
t.begin_fill()
t.pencolor("#6f3732")
t.goto(80, 120)
for i in range(180):x = drawX(80, i)y = drawY(32, i) + 120t.goto(x, y)
t.goto(-80, 70)
for i in range(180, 360):x = drawX(80, i)y = drawY(32, i) + 70t.goto(x, y)
t.fillcolor("#6f3732")
t.end_fill()
# 10
t.pu()
t.goto(80, 120)
t.pd()
t.pencolor("#ffaaa0")
t.begin_fill()
for i in range(360):x = drawX(80, i)y = drawY(32, i) + 120t.goto(x, y)
t.fillcolor("#ffaaa0")
t.end_fill()
# 11
t.pu()
t.goto(70, 120)
t.pd()
t.pencolor("#ffc3be")
t.begin_fill()
for i in range(360):x = drawX(70, i)y = drawY(28, i) + 120t.goto(x, y)
t.fillcolor("#ffc3be")
t.end_fill()
# 12
t.pu()
t.goto(80, 120)
t.pd()
t.begin_fill()
t.pensize(3)
t.pencolor("#ffaaa0")
for i in range(1800):x = drawX(80, 0.1 * i)y = drawY(-12, i) + 80t.goto(x, y)
t.goto(-80, 120)
t.pensize(1)
for i in range(180, 360):x = drawX(80, i)y = drawY(32, i) + 120t.goto(x, y)
t.fillcolor("#ffaaa0")
t.end_fill()
# 13
t.pu()
t.goto(64, 120)
t.pd()
t.pencolor("#b1c9e9")
t.begin_fill()
for i in range(360):x = drawX(4, i) + 60y = drawY(1, i) + 120t.goto(x, y)
t.goto(64, 170)
for i in range(540):x = drawX(4, i) + 60y = drawY(1, i) + 170t.goto(x, y)
t.goto(56, 120)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)
for i in range(1, 6):t.goto(64, 120 + 10 * i)t.pu()t.goto(56, 120 + 10 * i)t.pd()
t.pu()
t.goto(60, 170)
t.pd()
t.goto(60, 180)
t.pensize(1)
#
t.pu()
t.goto(64, 190)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()
for i in range(360):x = drawX(4, i) + 60y = drawY(10, i) + 190t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()# 14
t.pu()
t.goto(-56, 120)
t.pd()
t.pencolor("#b1c9e9")
t.begin_fill()
for i in range(360):x = drawX(4, i) - 60y = drawY(1, i) + 120t.goto(x, y)
t.goto(-56, 170)
for i in range(540):x = drawX(4, i) - 60y = drawY(1, i) + 170t.goto(x, y)
t.goto(-64, 120)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)
for i in range(1, 6):t.goto(-56, 120 + 10 * i)t.pu()t.goto(-64, 120 + 10 * i)t.pd()
t.pu()
t.goto(-60, 170)
t.pd()
t.goto(-60, 180)
t.pensize(1)
#
t.pu()
t.goto(-56, 190)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()
for i in range(360):x = drawX(4, i) - 60y = drawY(10, i) + 190t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()
# 15
t.pu()
t.goto(0, 130)
t.pd()
t.pencolor("#b1c9e9")
t.begin_fill()
for i in range(360):x = drawX(4, i)y = drawY(1, i) + 130t.goto(x, y)
t.goto(4, 180)
for i in range(540):x = drawX(4, i)y = drawY(1, i) + 180t.goto(x, y)
t.goto(-4, 130)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)
for i in range(1, 6):t.goto(4, 130 + 10 * i)t.pu()t.goto(-4, 130 + 10 * i)t.pd()
t.pu()
t.goto(0, 180)
t.pd()
t.goto(0, 190)
t.pensize(1)
#
t.pu()
t.goto(4, 200)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()
for i in range(360):x = drawX(4, i)y = drawY(10, i) + 200t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()
# 16
t.pu()
t.goto(30, 110)
t.pd()
t.pencolor("#b1c9e9")
t.begin_fill()
for i in range(360):x = drawX(4, i) + 30y = drawY(1, i) + 110t.goto(x, y)
t.goto(34, 160)
for i in range(540):x = drawX(4, i) + 30y = drawY(1, i) + 160t.goto(x, y)
t.goto(26, 110)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)
for i in range(1, 6):t.goto(34, 110 + 10 * i)t.pu()t.goto(26, 110 + 10 * i)t.pd()
t.pu()
t.goto(30, 160)
t.pd()
t.goto(30, 170)
t.pensize(1)
#
t.pu()
t.goto(34, 180)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()
for i in range(360):x = drawX(4, i) + 30y = drawY(10, i) + 180t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()
# 17
t.pu()
t.goto(-30, 110)
t.pd()
t.pencolor("#b1c9e9")
t.begin_fill()
for i in range(360):x = drawX(4, i) - 30y = drawY(1, i) + 110t.goto(x, y)
t.goto(-26, 160)
for i in range(540):x = drawX(4, i) - 30y = drawY(1, i) + 160t.goto(x, y)
t.goto(-34, 110)
t.fillcolor("#b1c9e9")
t.end_fill()
t.pencolor("white")
t.pensize(2)
for i in range(1, 6):t.goto(-26, 110 + 10 * i)t.pu()t.goto(-34, 110 + 10 * i)t.pd()
t.pu()
t.goto(-30, 160)
t.pd()
t.goto(-30, 170)
t.pensize(1)
#
t.pu()
t.goto(-26, 180)
t.pd()
t.pencolor("#f1add1")
t.begin_fill()
for i in range(360):x = drawX(4, i) - 30y = drawY(10, i) + 180t.goto(x, y)
t.fillcolor("#f1add1")
t.end_fill()
###随机
color = ["#e28cb9", "#805a8c", "#eaa989", "#6e90b7", "#b8b68f", "#e174b5", "#cf737c", "#7c8782"]
for i in range(80):t.pu()x = r.randint(-120, 120)y = r.randint(-25, 30)t.goto(x, y)t.pd()t.dot(r.randint(2, 5), color[r.randint(0, 7)])
for i in range(40):t.pu()x = r.randint(-90, 90)y = r.randint(-35, 10)t.goto(x, y)t.pd()t.dot(r.randint(2, 5), color[r.randint(0, 7)])for i in range(40):t.pu()x = r.randint(-80, 80)y = r.randint(60, 90)t.goto(x, y)t.pd()t.dot(r.randint(2, 5), color[r.randint(0, 7)])
for i in range(30):t.pu()x = r.randint(-50, 50)y = r.randint(45, 70)t.goto(x, y)t.pd()t.dot(r.randint(2, 5), color[r.randint(0, 7)])
for i in range(50):t.pu()x = r.randint(-500, 500)y = r.randint(120, 300)t.goto(x, y)t.pd()t.dot(r.randint(3, 5), color[r.randint(0, 7)])
t.seth(90)
t.pu()
t.goto(0, 0)
t.fd(210)
t.left(90)
t.fd(170)
t.pd()
t.write("Happy Birthday", font=("Curlz MT", 50))
t.done()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/748514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打卡学习kubernetes——了解kubernetes组成及架构

目录 1 什么是kubernetes 2 kubernetes组件 3 kubernetes架构 1 什么是kubernetes kubernetes是一个旨在自动部署、扩展和运行应用容器的开源平台。目标是构建一个生态系统,提供组件和工具以减轻在公共和私有云中运行应用程序的负担。 kubernetes是&#xff1a…

如何使用 CSS 中的 :root 伪类选择器

了解 CSS 的 :root 伪类选择器,以及在项目中可能想要如何使用它! CSS 的 :root 伪类选择器用于选择给定规范的最高级父级。在 HTML 规范中,:root 本质上等同于 html 选择器。 在下面的 CSS 片段中,:root 和 html 样式…

deepin23beta中SQLite3数据库安装与使用

SQLite 是一个嵌入式 SQL 数据库引擎,它实现了一个自包含、无服务器、零配置、事务性 SQL 数据库引擎。 SQLite 的代码属于公共领域,因此可以免费用于任何商业或私人目的。 SQLite 是世界上部署最广泛的数据库,其应用程序数量之多&#xff0c…

Linux使用Docker部署Registry结合内网穿透实现公网远程拉取推送镜像

文章目录 1. 部署Docker Registry2. 本地测试推送镜像3. Linux 安装cpolar4. 配置Docker Registry公网访问地址5. 公网远程推送Docker Registry6. 固定Docker Registry公网地址 Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)…

VUE 运行NPM 报错:npm ERR! code CERT_HAS_EXPIRED 解决方案

现象 由于各种原因需要调试一下VUE代码,用Git拉下来运行不了(之前是可以正常运行的),报错为:npm ERR! code CERT_HAS_EXPIRED........... 原因 NPM 证书签名过期了 解决方法 第一步:CMD 命令 查看NPM代理源…

【C++ RB树】

文章目录 红黑树红黑树的概念红黑树的性质红黑树节点的定义红黑树的插入代码实现总结 红黑树 AVL树是一颗绝对平衡的二叉搜索树,要求每个节点的左右高度差的绝对值不超过1,这样保证查询时的高效时间复杂度O( l o g 2 N ) log_2 N) log2​N),…

MySQL锁整理

MySQL锁信息来源 MySQL锁太多,内容太杂。写篇文章记录一下

【C++ 设计模式】策略模式与简单工厂模式的结合

文章目录 前言一、为什么需要策略模式简单工厂模式二、策略模式简单工厂模式实现原理三、UML图四、示例代码总结 前言 在软件设计中,常常会遇到需要根据不同情况选择不同算法或行为的情况。策略模式和简单工厂模式是两种常见的设计模式,它们分别解决了对…

z1-5输入编码器实验

一. 实验内容 1、制作LED计数电路,输入是编号为1~5的5个开关,输出是5个发光二极管(LED) 点几号开关,就有几个LED发光。 2、制作一个5位输入3位输出的编码器, 输入的第5位为1,输出就是数字5对应…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:ColumnSplit)

将子组件纵向布局,并在每个子组件之间插入一根横向的分割线。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 ColumnSplit通过分割线限制子组件的高度。初始…

SQLiteC/C++接口详细介绍之sqlite3类(三)

快速跳转文章列表:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(二) 下一篇:SQLiteC/C接口详细介绍之sqlite3类(四) 6.sqlite3_create_module与sqlite3_create_module_v2函数…

栈队列数组试题(三)——栈和队列的应用

一、单项选择题 01.栈的应用不包括( ). A.递归 B.表达式求值 C.括号匹配 D.缓冲区 02.表达式a* (bc)-d的后缀表达式是()。 A. abcd*一 B. abc*d- C. abc*d- …

简单了解 vim 编辑器最基础的操作

简单了解 vim 编辑器最基础的操作 vim 这个是 Linux 上自带的一个文本编辑器,使用 vim 就可以更灵活的对文件进行编辑了(虽然和记事本的定位差不多,实际上vim的使用要复杂很多) 1.打开文件 语法:vim 文件名 示例:…

速盾:cdn是什么和作用有哪些

CDN, 也叫内容分发网络(Content Delivery Network),是一种构建在分布式网络基础上的网络技术,旨在提高页面的访问速度和用户体验。CDN通过在全球各地部署服务器节点,并将网站的静态和动态内容复制到这些节点上&#xf…

16.旋转图像

给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&…

关于本地项目连接git远程仓库以及git设置ignore文件

一、本地项目如何连接git远程仓库 第一步, 首先我们在git上新建仓库。 第二步,打开本地项目文件夹,鼠标右键选择Git Bash Here 。 第三步,输入git init 命令(在目录中创建新的 Git 仓库)。 第四步&#xff…

Python强大的库和框架——NumPy

NumPy(Numerical Python)是一个用于科学计算的强大库,提供了支持大型、多维数组和矩阵的数据结构,以及用于处理这些数组的大量数学函数。 以下是关于 NumPy 的一些详解: 1. 安装 NumPy: 可以使用以下命令…

ubuntu 安装 infiniband 和 RoCE 驱动

下载驱动程序 驱动程序地址 https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ 安装 安装参考文档 https://docs.nvidia.com/networking/display/mlnxofedv24010331/installing+mlnx_ofed#src-2571322208_InstallingMLNX_OFED-InstallationProced…

BUGKU-WEB cookies

题目描述 题目截图如下: 进入场景看看: 解题思路 看源码看F12:看请求链接看提示:cookies欺骗 相关工具 插件:ModHeader或者hackbarbase64解密 解题步骤 看源码 就是rfrgrggggggoaihegfdiofi48ty598whrefeoia…

构建部署_Jenkins介绍与安装

构建部署_Jenkins介绍与安装 构建部署_Jenkins介绍与安装Jenkins介绍Jenkins安装 构建部署_Jenkins介绍与安装 Jenkins介绍 Jenkins是一个可扩展的持续集成引擎。 持续集成,就是通常所说的CI(Continues Integration),可以说是现…