使用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

原文地址:https://www.cnblogs.com/hyz1900457346/p/11508115.html

时间: 09-11

使用Python的turtle库实现六角形以及正方形螺旋线的绘制的相关文章

Python课本第2章习题参考答案(第二版)(Python绘制蟒蛇,中美汇率转换,等边三角形,叠加等边三角形,无角正方形,六角形,正方形螺线)

2.1   实例1的修改,采用eval(input(<提示内容>))替换现有输入部分,并使输出的温度值为整数. 2.2   汇率兑换程序.按照温度转换程序的设计思路,按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. 2.3   实例2的修改.改造实例代码2.1,绘制一条彩色的蟒蛇,即在绘制Python蟒蛇的每个小段时,画笔的绘制颜色会发生变化. 提示:将画笔颜色控制函数放到蟒蛇绘制函数附近. 2.4   等边三角形的绘制.使用turtle库中的turtle.fd()函数和turtl

Python turtle库的应用——蛇

turtle库介绍 1.Turtle中的turtle.setup()函数用于启动一个图形窗口,它有四个参数 turtle.setup(width, height, startx, starty) 分别是:启动窗口的宽度和高度表示窗口启动时,窗口左上角在屏幕中的坐标位置. 我们所使用的显示屏幕也是一个坐标系,该坐标系以左上角为原点,向左和向下分别是x轴和y轴.蟒蛇程序代码启动一个1300像素宽.800像素高的窗口,该窗口的左上角是屏幕的左上角. (startx,starty)表示画的初始点,(0,

一、Python的标准库String

一.Python的标准库String 1.查看武器 a. help(type()) name = "jane"print(help(type(name))) b. capitalize() name = "jane" print(name.capitalize()) 效果:Jane c. center() name = "jane" print(name.center(50, '-')) 效果:-----------------------jan

Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED

Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED 问题描写叙述 使用pip依照virtualenv报错,例如以下: pip install virtualenv Collecting virtualenv /opt/python27/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An

python/c++接口库比较(SWIG,boost.python, pycxx, py++, sip, Weave, Pyrex )

<python/c++接口库比较(SWIG,boost.python, pycxx, py++, sip, Weave, Pyrex )>http://blog.csdn.net/lainegates/article/details/19565823 目前有很多开源的Python/c++ 绑定工具,搜了好多岾子,这里稍微总结下. SWIG 支持 Python 2 and 3 配置正确的话,可以全自动完成封装(*.i文件需要自己写) 当不是全自动的时候,它大多会重复你的.h文件并给出提示 除了P

用Python的Turtle模块绘制五星红旗

Edit 用Python的Turtle模块绘制五星红旗 在Udacity上课时学到了python的turtle方法,这是一个很经典的用来教小孩儿编程的图形模块,最早起源于logo语言.python本身内置了这个模块,其可视化的方法可以帮助小孩儿对编程的一些基本理念有所理解. 在作业提交的论坛里看到很多turtle画出来的精美图形,想不出什么要画的东西,于是决定拿五星红旗来练练手. 前期准备 五星红旗绘制参数 Turtle官方文档 turtle的基本操作 # 初始化屏幕 window = turt

转:python 的开源库

Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: 比较成熟的(广播)函数库: 用于整合C/C++和Fortran代码的工具包: 实用的线性代数.傅里叶变换和随机数生成函数. SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化.线性代数.积分.插值.特殊函数.快速傅里叶变换.信号处理和图像处理.常微分方程求解和其他科学与工程中常用的计算.其功能与软

Python 3 mysql 库操作

Python 3 mysql 库操作 一.基础相关知识 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list,相当于一个具体的文件 记录:1 刘海龙 324245234 22,相当于文件中的一行内容 二.SQL语言简介 SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据.查询

使用Python的turtle(海龟)模块画图

使用Python的turtle(海龟)模块画图 第一步:让Python引入turtle模块,引入模块就是告诉Python你想要用它. import turtle 第二步:创建画布.调用turtle中的Pen函数. t = turtle.Pen() 第三步:移动海龟. t.forward(50) forward的中文意思是"向前地:促进".所以这行代码的意思是海龟向前移动50个像素: t.left(90) 让海龟左转90度 现在我们可以尝试画一个方块,思路就是前进-转向90度-前进,循环

python采用pika库使用rabbitmq总结,多篇笔记和示例(转)

add by zhj:作者的几篇文章参考了Rabbitmq的Tutorials中的几篇文章. 原文:http://www.01happy.com/python-pika-rabbitmq-summary/ 这一段时间学习了下rabbitmq,在学习的过程中,发现国内关于python采用pika库使用rabbitmq的资料很少,官网有这方面的资料,不过是都英文的.于是笔者结合自己的理解,就这方面内容写了一些示例,总共有七篇笔记,分享出来. 笔记依次是循序渐进的,笔记内贴出的代码笔者都实际运行过,运