使用Python的turtle库实现六角形以及正方形螺旋线的绘制
1.六角形的绘制
思路:一个六角形可以看作是两个等边三角形具有共同的中心且垂线互成60°角。所以只需实现一个等边三角形的绘制以及第二个三角形绘制起点的移动即可。
代码如下:
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.pensize(1)
turtle.pencolor("red")
turtle.fd(100)
turtle.seth(30)
turtle.pendown()
turtle.fd(80)
turtle.seth(-90)
turtle.fd(80)
turtle.seth(150)
turtle.fd(80) //第一个三角形绘制完成
turtle.penup() //将画笔抬起,此时任何画笔操作都不会绘制出来
turtle.seth(30)
turtle.fd(80/3)
turtle.seth(90)
turtle.fd(80/3) //调整第二个三角形的绘制起点
turtle.pendown() //将画笔放下,绘制接下来的画笔移动路径
turtle.seth(-30)
turtle.fd(80)
turtle.seth(-150)
turtle.fd(80)
turtle.seth(90)
turtle.fd(80)
绘制结果:
2.正方形螺旋线的绘制
思路:每画四条线作为一个循环,根据设置的边长来设置循环次数(循环次数应为设置的边长的四分之一)
import turtle
turtle.setup(1000,1000,0,0)
turtle.pensize(1)
turtle.pencolor("violet")
turtle.speed(0)
turtle.penup()
turtle.fd(-250)
turtle.seth(-90)
turtle.fd(250) //设置绘制起点
turtle.pendown()
x = 100 //正方形初始边长
for i in range(25):
turtle.seth(90)
turtle.fd(x)
turtle.seth(0)
turtle.fd(x)
turtle.seth(-90)
turtle.fd(x-2) //每次绘制边长比前一次少2
turtle.seth(180)
turtle.fd(x-2)
x = x-4
绘制结果:

使用Python的turtle库实现六角形以及正方形螺旋线的绘制的更多相关文章
- Python使用turtle库与random库绘制雪花
记录Python使用turtle库与random库绘制雪花,代码非常容易理解,画着玩玩还是可以的. 完整代码如下: 效果图如下:
- Python之turtle库-小猪佩奇
Python之turtle库-小猪佩奇 #!/usr/bin/env python # coding: utf-8 # Python turtle库官方文档:https://docs.python.o ...
- Python中turtle库的使用
Turtle图形库 Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种: 画笔控制函数 penup():抬起画笔: pendow ...
- python使用turtle库绘制奥运五环
效果图: #奥运五环 import turtle turtle.setup(1.0,1.0) #设置窗口大小 turtle.title("奥运五环") #蓝圆 turtle.pen ...
- 第四章 python的turtle库的运用
我们可以尝试用python的自带turtle库绘制一条蟒蛇 首先我们设计一下蟒蛇的基本形状 我们先把这段蟒蛇绘制的实例代码贴出来,各位可以在自己的本地运行一下看看效果,然后我们再继续分析代码: 1 # ...
- 使用Python的turtle库实现七段数码管绘制
七段数码管绘制:七段数码管是由7段数码管拼接而成,每段有亮或不亮两种情况,改进的七段数码管还包括一个小数点位置.七段数码管能形成2=128种状态,其中部分状态能够显示易于人们理解的数字或字母含义.因此 ...
- Python:turtle库的使用及图形绘制
目录 一.绘制一个八边形 二.绘制一个八角图形 三.简述问题 四.循环程序设计 五.绘制一个自己喜欢的图形 一.绘制一个八边形 使用turtle库,绘制一个八边形 代码: from turtle im ...
- turtle库应用实例2-六芒星的绘制
六芒星的绘制 ...
- Python之turtle库
在命令行下```python -m pip install turtle``` 大致有两种命令: 运动命令: forward(distance) #向前移动距离distance代表距离 backwar ...
随机推荐
- 1206 雅礼集训D2题解
A \(two\) \(1.1\) \(Description\) 你有两棵有根树,每棵各有 n 个顶点.让我们用整数 1 到 n 给每棵树的顶点编 号.两棵树的根都是顶点 1.第一棵树的边都都是蓝色 ...
- QT QML 在qml中自定义信号
服从真理,就能征服一切事物. -- 塞涅卡 实例: 自定义文件 MoveYou.qml: import QtQuick 2.5 import QtQuick.Controls 1.4 import Q ...
- Java基础笔试练习(七)
1.下列程序执行后结果为( )? class A { public int func1(int a, int b) { return a - b; } } class B extends A { pu ...
- 《学渣的电子技术自学笔记》——三极管的放大区、截止区与饱和区(基于NPN型)
<学渣的电子技术自学笔记>--三极管的放大区.截止区与饱和区(基于NPN型) 1.放大区 三极管输出特性曲线近似水平的部分是放大区.在放大区,\(I_C=\overline{β}I_B ...
- php位运算及其高级应用
我们之前学过逻辑与(&&) 条件1 && 条件2 当两边条件同时成立时候返回1 逻辑或(||) 条件1 || 条件2 当两边条件只要有一 ...
- SSH协议介绍
SSH概念介绍 SSH是一种网络协议,我们常说的 ssh 一般指其实现,即 OpenSSH,在 shell 中,也就是 ssh 命令. Secure Shell(安全外壳协议,简称SSH)是一种加密的 ...
- CORS讲解
跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源.当一个资源从与该资 ...
- SQL递归获取树型路径中文名称
项目中遇到一个树型结构表要根据任意传入节点获取它从根节点一直到自身节点的全部路径的中文名称,并且用'>'与分隔. 我使用在sqlServer中写了一个解析函数方便开发调用. USE [RP_ER ...
- c# $和@ 简化字符串格式化拼接
int age=18; Console.WriteLine($"XiaoMing is \"{age}\" {{ years}} old"); Console. ...
- 用不上索引的sql
1.使用不等于操作符(<>, !=) 大于可以.小于可以,between and 也可以 2.使用 is null 或 is not null 任何包含null值的列都将不会被包含在索引中 ...