python 叠加等边三角形的绘制的实现

yipeiwu_com5年前Python基础

python语言程序设计基础 习题2.5

 import turtle
def drawTriangle(num,len,flag):#flag用来调整画三角形的方向
  flag*=-1
  len/=2
  if(num==1):
    if(flag==1):
      turtle.left(60)
      turtle.fd(len)
      turtle.right(120)
      turtle.fd(len)
      turtle.right(120)
      turtle.fd(len)
      turtle.left(120)
    else:
      turtle.right(60)
      turtle.fd(len)
      turtle.left(120)
      turtle.fd(len)
      turtle.left(120)
      turtle.fd(len)
      turtle.right(120)
  else:
    if(flag==1):
      turtle.left(60)
      turtle.fd(len/2)
      num=num-1
      turtle.right(60)
      drawTriangle(num,len,flag)
      turtle.fd(len/2)
      turtle.right(120)
      turtle.fd(len)
      turtle.right(120)
      turtle.fd(len)
      turtle.left(120)#注意递归过程中画笔返回的角度
    else:
      turtle.right(60)
      turtle.fd(len/2)
      num=num-1
      turtle.left(60)
      drawTriangle(num,len,flag)
      turtle.fd(len/2)
      turtle.left(120)
      turtle.fd(len)
      turtle.left(120)
      turtle.fd(len)
      turtle.right(120)#注意递归过程中画笔返回的角度
    

def main():
  turtle.setup(600,600, 200, 200)
  turtle.pendown()
  turtle.speed(2)
  turtle.pensize(5)
  drawTriangle(5,512,-1)
  turtle.hideturtle()#隐藏画笔图标
main()
turtle.done()#which returns after the main loop exits不知道啥意思,反正可以让窗口停住(欢迎评论告诉我啊)

​以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python用zip函数同时遍历多个迭代器示例详解

前言 本文主要介绍的是Python如何使用zip函数同时遍历多个迭代器,文中的版本为Python3,zip函数是Python内置的函数。下面话不多说,来看详细的内容。 应用举例...

Python实现的从右到左字符串替换方法示例

本文实例讲述了Python实现的从右到左字符串替换方法。分享给大家供大家参考,具体如下: 一 . 前言 需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace只...

Python3学习urllib的使用方法示例

urllib是python的一个获取url(Uniform Resource Locators,统一资源定址符)了,可以利用它来抓取远程的数据进行保存,本文整理了一些关于urllib使用...

windows下ipython的安装与使用详解

windows下ipython的安装与使用详解

ipython的安装 ipython可以直接使用pip install ipython安装 ,如果安装失败按如下步骤手动进行安装 所需文件下载:    ...

TensorFlow搭建神经网络最佳实践

一、TensorFLow完整样例 在MNIST数据集上,搭建一个简单神经网络结构,一个包含ReLU单元的非线性化处理的两层神经网络。在训练神经网络的时候,使用带指数衰减的学习率设置、使用...