前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用python中的turtle库绘制一些有趣的图

用python中的turtle库绘制一些有趣的图

作者头像
阿黎逸阳
发布于 2021-10-20 02:42:28
发布于 2021-10-20 02:42:28
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

最近有个在读大学的女生,想要我帮忙用python画几个图,在画的过程中觉得有些图还挺有意思的,分享给大家。

1 图1

第一个图是蚊香,感兴趣的小伙伴可以自己尝试在python中用turtle库绘制一下。

具体代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
#画蚊香
import turtle

turtle.pensize(30)
for i in range(30):
  turtle.circle(i*10,60)
turtle.done()

2 图2

第二个图是蚊香的变体图,怎么通过调整蚊香代码,更改颜色和形状,绘制出如下图形?

具体代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
import turtle

t = turtle.Turtle()
t.pensize(2)
t.color('violet')
for i in range(90):
    t.circle(i*1,60)

3 图3

第三个图是蛛网图,不过不同部分有不同的颜色,你也可以试着改成别的颜色。

具体代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
#画蜘蛛网
from turtle import *

speed(0)
t = 1
for i in range(100):
    if t == 1:
        color('darkviolet')
        fd(2*i)
        rt(61)
        t += 1
    elif t == 2:
        color('green')
        fd(2*i)
        rt(61)
        t += 1
    else:
        color('yellow')
        fd(2*i)
        rt(61)
        t = 1

4 图4

第四个图是奥运五环。

具体代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
#画奥运五环
import turtle

turtle.width(5)#控制画笔宽度
colors = ['blue', 'black', 'red', 'yellow', 'green']

for i in range(5):
    turtle.color(colors[i])#控制画笔颜色
    turtle.circle(50)#控制圆的大小,半径
    turtle.penup()#让画笔抬起
    if i<=1:
        turtle.goto((i+1)*120,0)
        turtle.pendown()
    elif i==2:
        turtle.goto(60,-30)
        turtle.pendown()
    elif i==3:
        turtle.goto(180,-30)
        turtle.pendown()
    else:
        turtle.color('green')
        turtle.circle(50)
turtle.hideturtle()

5 图5

第五个图是五星红旗。

具体代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
#画五星红旗
import turtle as t

t.setup(600,400,0,0)
t.bgcolor("red")
t.fillcolor("yellow")
t.color('yellow')
t.speed(5)
t.begin_fill()
t.up()
t.goto(-280,100)
t.down()
for i in range (5):
    t.forward(150)
    t.right(144)
t.end_fill()
t.begin_fill()
t.up()
t.goto(-100,180)
t.setheading(305)
t.down()
for i in range (5):
    t.forward(50)
    t.left(144)
t.end_fill()
t.begin_fill()
t.up()
t.goto(-50,110)
t.setheading(30)
t.down()
for i in range (5):
    t.forward(50)
    t.right(144)
t.end_fill()
t.begin_fill()
t.up()
t.goto(-40,50)
t.setheading(5)
t.down()
for i in range (5):
    t.forward(50)
    t.right(144)
t.end_fill()
t.begin_fill()
t.up()
t.goto(-100,10)
t.setheading(300)
t.down()
for i in range (5):
    t.forward(50)
    t.left(144)
t.end_fill()
t.hideturtle()
t.done()

本文中有些图在网上也有一些代码,大家都可以参考一下,想一想还有没有别的有趣的画法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿黎逸阳的代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
常见的手写代码题集
要求是 yield 后面只能是 Promise 或 Thunk 函数,详见 es6.ruanyifeng.com/#docs/gener…
前端迷
2020/02/19
7240
第147天:web前端开发中的各种居中总结
方法① :行内元素 (父元素)text-align,(子元素)inline-block
半指温柔乐
2018/09/11
4890
CSS常见兼容性问题总结
浏览器的兼容性问题,通常是因为不同的浏览器对同一段代码有不同的解析,造成页面显示不统一的情况。
书童小二
2018/09/03
1.2K0
CSS常见兼容性问题总结
第140天:前端开发中浏览器兼容性问题总结(一)
我们在开发的时候会明确项目要兼容哪些浏览器的最低版本,我之前的项目要求兼容IE8.0以上的版本,Chrome 48以上,FireFox 44以上。有了这些最基本的要求,在开发中就是要考虑到CSS样式和JavaScript的在这些浏览器的兼容性了 一、html部分
半指温柔乐
2018/09/11
3.2K0
CSS使用技巧
然后,将小容器定位为absolute,再将它的左上角沿y轴下移50%,最后将它margin-top上移本身高度的50%即可。
神葳
2021/01/22
1.4K0
CSS使用技巧
在修改模板的过程中,需要重写CSS样式表。正好看到instantshift.com有一篇CSS常用技巧的总结文章,我就把它整理出来,供自己参考,也希望对大家有用。
ruanyf
2018/09/21
1.3K0
CSS使用技巧
50道CSS基础面试题
23 0 0 50道CSS基础面试题 1 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin 低版本IE盒子模型:宽度=内容宽度(content+border+padding)+ margin 2 box-sizing属性? 用来控制元素的盒子模型的解析模式,默认为content-box context-box:W3C的标准盒子模型,设置元素的 height/width 属性
慕白
2018/07/06
1.7K0
CSS布局解决方案(上)
前端布局非常重要的一环就是页面框架的搭建,也是最基础的一环。在页面框架的搭建之中,又有居中布局、多列布局以及全局布局,今天我们就来总结总结前端干货中的CSS布局。 水平居中 1)使用inline-b
腾讯NEXT学位
2018/05/15
1.3K0
超全整理前端开发面试题——CSS篇(2016年)
介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种,IE 盒子模型、W3C 盒子模型; (2)盒模型:内容(content)、填充(padding)、边界(margin)、边框(border); (3)区别:IE的content部分把 border 和 padding计算了进去; CSS选择符有哪些?哪些属性可以继承? * 1.id选择器( # myid) 2.类选择器(.myclassname) 3.标签选择器(div, h1, p) 4.相邻选择器(h
前朝楚水
2018/04/04
2.7K0
CSS布局解决方案(居中布局)
前端布局非常重要的一环就是页面框架的搭建,也是最基础的一环。在页面框架的搭建之中,又有居中布局、多列布局以及全局布局,今天我们就来总结总结前端干货中的CSS布局。
用户1093975
2018/08/03
1.8K0
【CSS】处理兼容性问题 | CSS Hack | IE
(1)IE6双边距bug: 块属性标签添加了浮动float之后,若在浮动方向上也有margin值,则margin值会加倍。这种问题主要就是会把某些元素挤到了第二行。
前端修罗场
2023/10/07
4090
我碰到的那些面试题html+css
http://www.sohu.com/a/330231789_120174705
李才哥
2019/09/08
1.3K0
「资深前端工程师总结」前端面试知识点大全—CSS篇
display:none使用后,元素的宽度,高度都会丢失,视为不存在不加载;元素原来占据的空间位置不保留;产生回流和重绘;
用户5997198
2019/08/09
1.7K0
「资深前端工程师总结」前端面试知识点大全—CSS篇
30+有用的CSS代码片段
在一篇文章中收集所有的CSS代码片段几乎是不可能的事情,但是我们这里列出了一些相对于其他的更有用的代码片段,不要被这些代码的长度所吓到,因为它们都很容易实现,并且具有良好的文档。除了那些解决常见的恼人的问题外,也包含了一些解决新问题的新技术。 1.垂直对齐 如果你之前遇到过这个问题,你就应该知道它是多么的烦人,幸运的是,现在你可以使用CSS3变换来解决这个问题: .vc{ position: relative; top: 50%; -webkit-transform: transl
前朝楚水
2018/04/02
1K0
Web前端最全面试宝典- CSS篇
1. 说下行内元素和块级元素的区别?行内块元素的兼容性使用(IE8 以下) Q1)行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效。 块级元素:各占据一行,垂直方向排列。从新行开始结束接着一个断行。 Q2)兼容性:display:inline-block;display:inline;zoom:1; 2.清除浮动有哪些方式?比较好的方式是哪一种? 1)父级div定义height。 2)结尾处加空
用户1097444
2022/06/29
1.2K0
Web前端最全面试宝典- CSS篇
前端面试之HTML && CSS
带!important 标记的样式属性优先级最高; 样式表的来源相同时: !important > 行内样式>ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性
CODER-V
2023/03/04
4.5K0
CSS中常见的BUG调试
拥有布局的元素负责自身及其子元素的尺寸及定位,而没有布局的元素仅仅能依靠近期的祖先元素进行控制。
全栈程序员站长
2022/07/07
3940
Css详细介绍
(就近原则): !important > id > class > tag (!important 比内联优先级高)
FGGIT
2024/10/15
3030
HTML+CSS高级
第一章 一、内联块     display: inline-block;      1、特征:                1.1     块级元素在一行显示     (得到内联元素的属性)           1.2     内联元素支持宽高     (得到块的属性)           1.3     没有宽度的时候,内容撑开宽度     (得到内联元
用户1148399
2018/01/09
6.2K0
前端开发面试题答案(二)
(2)盒模型:内容(content)、填充(padding)、边界(margin)、边框(border);
疯狂的技术宅
2019/03/28
1.5K0
相关推荐
常见的手写代码题集
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档