文章目录

  • 前言
  • 一、第一种画法
  • 二、第二种画法
  • 总结

前言

今天我们来画一朵玫瑰花。


一、第一种画法

这应该是最好看玫瑰花了。

from turtle import *
#设置绘制起点
setup (700,700)
#画笔颜色
pencolor("red")
hideturtle()
penup()
goto(0,280)
pendown()
left(135)
speed(0)
#左侧弧形绘制
a=0.2
for i in range (80):if i < 50:pensize(a)forward(2)a+=0.15if i<10:left(0.7)elif 10<i<24:left(1)elif 24<i<40:left(3)elif 40<i<50:left(4)elif i >=50:pensize(a)forward(2.2)a-=0.25if 50<i<65:left(6.7)elif 65<i<80:left(2)
setheading(0)
penup()
goto(40,305)
pendown()
left(145)
#右侧弧形绘制
a=0.1
for i in range (100):if i < 60:pensize(a)forward(3)a+=0.15if i<10:left(0.8)elif 10<i<24:left(0.8)elif 24<i<40:left(1.7)elif 40<i<60:left(2.2)elif i >=60:pensize(a)forward(2.4)a-=0.15if 60<i<85:left(3.2)elif 85<i<90:left(4)
setheading(0)
penup()
goto(45,320)
pendown()
left(10)
a=0.1
for i in range (100):if i < 60:pensize(a)forward(3)a+=0.15if i<17:right(3.2)elif 17<i<20:right(3.5)elif 20<i<40:right(6.8)elif 40<i<50:right(0.6)elif 50<i<60:left(1)elif i >=60:pensize(a)forward(2.4)a-=0.16if 60<i<85:left(0.4)elif 85<i<90:left(1)
setheading(0)
penup()
goto(-135,265)
pendown()
left(160)
a=0.1
for i in range (120):if i < 60:pensize(a)forward(3)a+=0.15if i<10:left(2)elif 10<i<15:left(8)elif 15<i<35:left(6)elif 35<i<40:left(4)elif 40<i<60:left(1)elif i >=60:pensize(a)forward(3)a-=0.15if 60<i<90:right(0.4)elif 90<i<120:right(0.8)
setheading(0)
penup()
goto(80,250)
pendown()
left(245)
a=0.2
for i in range (80):if i < 40:pensize(a)forward(1.2)a+=0.15if i<15:left(0.6)elif 15<i<40:left(0.3)elif i >=40:pensize(a)forward(1.2)a-=0.15if 40<i<65:left(0.6)elif 65<i<80:left(0.35)
setheading(0)
penup()
goto(-150,195)
pendown()
left(300)
a=0.2
for i in range (80):if i < 40:pensize(a)forward(1.2)a+=0.16if i<15:right(0.6)elif 15<i<40:right(0.3)elif i >=40:pensize(a)forward(1.2)a-=0.16if 40<i<65:right(0.6)elif 65<i<80:right(0.35)
setheading(0)
penup()
goto(-205,225)
pendown()
left(194)
a=0.1
for i in range (100):if i < 50:pensize(a)forward(3)a+=0.15if i<10:left(7)elif 10<i<30:left(3)elif 30<i<50:left(0.1)elif i >=50:pensize(a)forward(3)a-=0.15if 50<i<80:right(0.3)elif 80<i<100:right(0.6)
setheading(0)
penup()
goto(110,280)
pendown()
left(6)
a=0.1
for i in range (120):if i < 60:pensize(a)forward(3)a+=0.15if i<10:right(4.5)elif 10<i<30:right(5)elif 30<i<60:right(0.1)elif i >=60:pensize(a)forward(3)a-=0.15if 50<i<80:left(0.6)elif 80<i<100:left(0.9)
setheading(0)
penup()
goto(-160,110)
pendown()
left(283)
a=0.2
for i in range (80):if i < 40:pensize(a)forward(2.4)a+=0.15if i<10:right(0.6)elif 15<i<40:right(0.1)elif i >=40:pensize(a)forward(2.4)a-=0.15if 40<i<65:left(2)elif 65<i<80:left(3)
setheading(0)
penup()
goto(90,155)
pendown()
left(258)
a=0.2
for i in range (80):if i < 40:pensize(a)forward(3)a+=0.15if i<10:left(0.8)elif 15<i<40:left(0.1)elif i >=40:pensize(a)forward(3)a-=0.15if 40<i<65:right(2)elif 65<i<80:right(3)
setheading(0)
penup()
goto(-60,-45)
pendown()
right(9)
a=0.2
for i in range (40):if i < 20:pensize(a)forward(1.3)a+=0.15if i<5:left(0.7)elif 5<i<20:left(0.4)elif i >=20:pensize(a)forward(1.3)a-=0.15if 20<i<35:left(0.7)elif 35<i<40:left(0.4)
setheading(0)
penup()
goto(-70,-55)
pencolor("green")
pendown()
right(170)
a=0.2
for i in range (80):if i <40 :pensize(a)forward(2)a+=0.15if i<25:right(0.5)elif 25<i<40:right(1)elif i >=40:pensize(a)forward(2.5)a-=0.15if 40<i<55:right(1)elif 55<i<70:right(2)elif 70<i<80:right(1)
setheading(270)
left(30)
a=0.2
for i in range (80):if i <40 :pensize(a)forward(2.5)a+=0.15if i<25:left(0.5)elif 25<i<40:left(1)elif i >=40:pensize(a)forward(3)a-=0.15if 40<i<55:left(2)elif 55<i<70:left(1.3)elif 70<i<80:left(1)
setheading(270)
penup()
goto(20,-55)
pendown()
left(65)
a=0.2
for i in range (60):if i <30 :pensize(a)forward(2)a+=0.15if i<15:left(1)elif 15<i<30:left(2)elif i >=30:pensize(a)forward(2.5)a-=0.15if 30<i<45:left(2)elif 45<i<50:left(2.5)elif 50<i<60:left(1.5)
setheading(270)
right(17)
a=0.2
for i in range (80):if i <40 :pensize(a)forward(2.2)a+=0.15if i<25:right(1)elif 25<i<40:right(2)elif i >=40:pensize(a)forward(2.5)a-=0.15if 40<i<55:right(2)elif 55<i<70:right(1.5)elif 70<i<80:right(0.6)
setheading(0)
penup()
pencolor("brown")
goto(-49,-90)
pendown()
right(89)
a=1
for i in range (120):if i < 60:pensize(a)forward(3.5)a+=0.08elif i >=60:pensize(a)forward(3.5)a-=0.08
setheading(0)
penup()
goto(-16,-70)
pendown()
right(91)
a=1
for i in range (120):if i < 60:pensize(a)forward(3.5)a+=0.08elif i >=60:pensize(a)forward(3.5)a-=0.08
setheading(0)speed(1)
penup()
goto(-16,-150)
pendown()
pensize(3)
left(35)
forward(15)
setheading(0)
right(115)
forward(34)setheading(180)
penup()
goto(-49,-250)
pendown()
pensize(3)
right(35)
forward(15)
setheading(180)
left(115)
forward(34)
input()
done

二、第二种画法

第二种就稍逊一筹了,但也挺好看。

import turtle# 设置初始位置
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)# 花蕊
turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(10,180)
turtle.circle(25,110)
turtle.left(50)
turtle.circle(60,45)
turtle.circle(20,170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30,110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90,70)
turtle.circle(30,150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80,90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150,80)
turtle.left(50)
turtle.circle(150,90)
turtle.end_fill()# 花瓣1
turtle.left(150)
turtle.circle(-90,70)
turtle.left(20)
turtle.circle(75,105)
turtle.setheading(60)
turtle.circle(80,98)
turtle.circle(-90,40)# 花瓣2
turtle.left(180)
turtle.circle(90,40)
turtle.circle(-80,98)
turtle.setheading(-83)# 叶子1
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80,90)
turtle.right(90)
turtle.circle(-80,90)
turtle.end_fill()turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)# 叶子2
turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80,90)
turtle.left(90)
turtle.circle(80,90)
turtle.end_fill()turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200,60)

总结

所画玫瑰花的库用的只是turtle,但代码却很多。

Python绘制玫瑰花相关推荐

  1. 用 python 绘制玫瑰花

    用 python 绘制玫瑰花 用 python 绘制玫瑰花.需求:用 Python 绘制一朵玫瑰花,献给你喜欢的人: 输入:你的想象力:输出:玫瑰花. 代码如下: # RoseDraw.py impo ...

  2. 学习笔记(2):Python解析器的安装以及通过python绘制玫瑰花和小猪佩奇-创建python文件以及进行运行同时讲解turtle...

    立即学习:https://edu.csdn.net/course/play/29172/409841?utm_source=blogtoedu 绘制玫瑰花 1 导入turtle模块 2 绘制面板 3 ...

  3. 用python绘制玫瑰花的代码_python也能玩出玫瑰花!程序员的表白代码

    有些情侣是异地恋,情人节想送朵玫瑰花给女朋友都困难.别担心,用Python就好了,互联网时代的恋爱神器!接下来就让我们一起来看看如何用Python变出玫瑰花的. 1.首先我们导入画图工具turtle, ...

  4. 用python绘制玫瑰花

    参考了https://blog.csdn.net/qq_44105778/article/details/86737469这篇博客 在其基础上加了些注释 import turtle# 设置初始位置 t ...

  5. 学习笔记(2):Python解析器的安装以及通过python绘制玫瑰花和小猪佩奇-python语言的重点介绍+酷炫案例的展示

    立即学习:https://edu.csdn.net/course/play/29172/409836?utm_source=blogtoedu 以案列为驱动去进行学习 python第一部分基础 pyt ...

  6. 用python绘制玫瑰花的代码_Python 玫瑰花绘制

    import turtle # 设置初始位置 turtle.penup() turtle.left(90) turtle.fd(200) turtle.pendown() turtle.right(9 ...

  7. python画玫瑰花的代码_python绘制玫瑰的实现代码

    今天为大家介绍一个Python绘制一朵漂亮的玫瑰花,用python的turtle库这个绘画库是非常简单的,但是还是需要你测试路径方向,慢慢调试,下面的代码具有一定的参考价值 利用python绘制一朵玫 ...

  8. 用python画玫瑰花代码-python绘制玫瑰的实现代码

    今天为大家介绍一个Python绘制一朵漂亮的玫瑰花,用python的turtle库这个绘画库是非常简单的,但是还是需要你测试路径方向,慢慢调试,下面的代码具有一定的参考价值 利用python绘制一朵玫 ...

  9. 用python画玫瑰花-python绘制玫瑰的实现代码

    今天为大家介绍一个Python绘制一朵漂亮的玫瑰花,用python的turtle库这个绘画库是非常简单的,但是还是需要你测试路径方向,慢慢调试,下面的代码具有一定的参考价值 利用python绘制一朵玫 ...

  10. python表白玫瑰花绘制——情人节表白(亲测)

    python表白玫瑰花绘制--情人节表白 搬运不易,路过的各位大佬请点个赞 python表白玫瑰花绘制--情人节表白 python表白玫瑰花绘制--情人节表白 一.玫瑰花绘制-深红色 二.玫瑰花绘制- ...

最新文章

  1. MySQL常见面试题及答案汇总1000道(春招+秋招+社招)
  2. python实现逻辑回归的流程_逻辑回归原理及其python实现
  3. spring mvc-使用Servlet原生API作为参数
  4. 亲身经历揭露淘宝上主板交换的陷阱
  5. IETF:名词历史简介互联网精神的典范
  6. (转)Apache与Tomcat 区别联系
  7. python中str和int区别_python中eval与int的区别浅析
  8. 2018.09.28 hdu5434 Peace small elephant(状压dp+矩阵快速幂)
  9. 老照片的复活,焕发生机与跃然纸上!这篇CVPR2020的论文彻底火了
  10. 关于一个简单算法的递归和循环转换实现
  11. 关于Firefox插件
  12. ORACLE WebLogic Server 安装部署
  13. mysql查找数据库文件位置
  14. CPU框架~ 什么是X86 ?~什么是ARM ? 华为鲲鹏云是什么?
  15. PS修补工具使用方法
  16. 训练GAN,你应该知道的二三事
  17. java连接mysql lookup_Java数据库连接池lookup用法
  18. 使用Fiddler5和雷电模拟器4.0.83的抓包配置
  19. 如何检测计算机主板的好坏,如何测试电脑主板上电源芯片的好坏有什么方法
  20. Appium启动应用时,报错提示adb执行超时的问题解决

热门文章

  1. 腾讯程序员月薪7万,小编感觉自己像码畜...
  2. 在Blender中使用代码控制人物模型的头部姿态 - 前置知识
  3. 实验吧:天网管理系统
  4. 路由器信号总是无法与手机连接服务器,手机搜不到路由器信号_手机无法搜到路由器信号怎么办?-192路由网...
  5. pip安装pandas失败的问题
  6. 01-Java中的集合
  7. 校园实践-校园二手交易项目组-墨刀原型
  8. ssdt函数索引号_技术分享 - 32位系统上获取SSDT表地址以及从中获取指定SSDT函数的地址...
  9. qt中的toUtf8, toLatin1, Local8bit编码问题
  10. 获取手机状态栏的高度