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

yipeiwu_com6年前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实现维吉尼亚算法

python实现维吉尼亚算法

本文实例为大家分享了python实现维吉尼亚算法的具体代码,供大家参考,具体内容如下 1 Virginia加密算法、解密算法 Vigenenre密码是最著名的多表代换密码,是法国著名密码...

在Python中的Django框架中进行字符串翻译

使用函数 ugettext() 来指定一个翻译字符串。 作为惯例,使用短别名 _ 来引入这个函数以节省键入时间. 在下面这个例子中,文本 "Welcome to my site" 被标记...

linux查找当前python解释器的位置方法

先进入python 输入 import sys sys.executable 即可! 以上这篇linux查找当前python解释器的位置方法就是小编分享给大家的全部内容了,希望能给...

浅谈python3.6的tkinter运行问题

python3.6在运行tkinter时要选择 run as Python unit-test, 否则报错 ModuleNotFoundError: No module named 't...

通过python扫描二维码/条形码并打印数据

需提前安装好pyzbar和opencv-python库(博主的电脑安装opencv-python库比较麻烦,但大部分都不会出现该问题) 安装方法:打开命令框输入 pip install...