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

yipeiwu_com7年前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生成url短链接的方法

几乎所有的微薄都提供了缩短网址的服务,其原理就是将一个url地址按照一定的算法生成一段字符串,然后加在一个短域名后面边成了一个新的url地址,数据库中会存放这个短地址和原始的地址,当用户...

详解pandas.DataFrame中删除包涵特定字符串所在的行

详解pandas.DataFrame中删除包涵特定字符串所在的行

你在使用pandas处理DataFrame中是否遇到过如下这类问题?我们需要删除某一列所有元素中含有固定字符元素所在的行,比如下面的例子:   以上所述是小编给大家介绍的pa...

python实现unicode转中文及转换默认编码的方法

本文实例讲述了python实现unicode转中文及转换默认编码的方法。分享给大家供大家参考,具体如下: 一、在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u7...

Python守护进程用法实例分析

本文实例讲述了Python守护进程用法。分享给大家供大家参考。具体分析如下: 守护进程是可以一直运行而不阻塞主程序退出。要标志一个守护进程,可以将Process实例的daemon属性设置...

dpn网络的pytorch实现方式

我就废话不多说了,直接上代码吧! import torch import torch.nn as nn import torch.nn.functional as F clas...