使用turtle绘制五角星、分形树

前端之家收集整理的这篇文章主要介绍了使用turtle绘制五角星、分形树前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例为大家分享了使用turtle绘制五角星和分形树的具体代码,供大家参考,具体内容如下

turtle 库

与之前程序的区别:

  • 没有显示的input()与output()
  • 没有赋值语句
  • 大部分语句为<a>.<b>()的形式

表示使用<a>中的方法<b>()
调用函数库<a>中的函数<b>()

形状绘制函数

turtle.forward(distance)
画笔向前移动distance距离

turtle.backward(distance)
画笔向后移动distance距离

turtle.right(dgree)
绘制方向向右旋转dgree度

turtle.exitonclick()
点击关闭图形窗口

使用turtle绘制五角星、分形树

画笔控制函数

turtle.penup()抬起画笔,之后移动画笔不绘制

turtle.pendown()落下画笔,之后移动画笔绘制形状

turtle.pensize()设置画笔宽度

turtle.pencolor()设置画笔颜色,常用的颜色:
white,black,grey,darkgreen,vilot,purple

详细API请参考

功能一:

五角星的绘制

  1. """
  2. 作者:陈洁
  3. 功能:五角星的绘制
  4. 版本:1.0
  5. 日期:04/10/2019
  6. """
  7. import turtle
  8.  
  9. def main():
  10. """
  11. 函数
  12. """
  13. #计数器
  14. count = 1
  15. while count<=5:
  16. turtle.forward(100)
  17. turtle.right(144)
  18. count += 1
  19. turtle.exitonclick()
  20.  
  21. if __name__ == '__main__':
  22. main()

遇到困难:

混淆if条件函数与while循环函数

功能二:

加入循环操作绘制重复不同大小的五角星

  1. """
  2. 作者:陈洁
  3. 功能:五角星的绘制
  4. 版本:2.0
  5. 日期:04/10/2019
  6. 新增功能:加入循环操作绘制重复不同大小的五角星
  7. """
  8. import turtle
  9.  
  10. def draw_pentagram(size):
  11. """
  12. 绘制五角星
  13. """
  14. # 计数器
  15. count = 1
  16. # 绘制五角星
  17. while count <= 5:
  18. turtle.forward(size)
  19. turtle.right(144)
  20. count += 1
  21.  
  22. def main():
  23. """
  24. 函数
  25. """
  26.  
  27. turtle.penup()
  28. turtle.backward(200)
  29. turtle.pendown()
  30. turtle.pensize(2)
  31. turtle.pencolor('red')
  32.  
  33. size = 50
  34.  
  35. while size<=100:
  36. #调用函数
  37. draw_pentagram(size)
  38. size += 10
  39.  
  40. turtle.exitonclick()
  41.  
  42. if __name__ == '__main__':
  43. main()

功能三:

使用迭代函数绘制重复不同大小的五角星

注意:设置条件语句if size <= 100: draw_recursive_pentagram(size)

  1. """
  2. 作者:陈洁
  3. 功能:五角星的绘制
  4. 版本:3.0
  5. 日期:04/10/2019
  6. 新增功能:使用迭代函数绘制重复不同大小的五角星
  7. """
  8. import turtle
  9. def draw_pentagram(size):
  10. """
  11. 绘制五角星
  12. """
  13. def draw_recursive_pentagram(size):
  14. """
  15. 迭代绘制五角星
  16. """
  17. # 计数器
  18. count = 1
  19. # 绘制五角星
  20. while count <= 5:
  21. turtle.forward(size)
  22. turtle.right(144)
  23. count += 1
  24. #五角星绘制完成,更新参数
  25. size += 10
  26. if size <= 100:
  27. draw_recursive_pentagram(size)
  28. def main():
  29. """
  30. 函数
  31. """
  32. turtle.penup()
  33. turtle.backward(200)
  34. turtle.pendown()
  35. turtle.pensize(2)
  36. turtle.pencolor('red')
  37. size = 50
  38. draw_recursive_pentagram(size)
  39. if __name__ == '__main__':
  40. main()

功能四:用迭代函数绘制分形树

  1. """
  2. 作者:陈洁
  3. 功能:分形树
  4. 版本:1.0
  5. 日期:04/10/2019
  6. 新增功能:使用迭代函数绘制分形树
  7. """
  8. import turtle
  9. def draw_branch (branch_length):
  10. """
  11. 绘制分形树
  12. """
  13. if branch_length >5:
  14. #绘制右侧树枝
  15. turtle.forward(branch_length)
  16. print('向前绘制',branch_length)
  17. turtle.right(20)
  18. print('右转',20)
  19. draw_branch(branch_length - 15)
  20.  
  21. #绘制左侧树枝
  22. turtle.left(40)
  23. print('左转',40)
  24. draw_branch(branch_length - 15)
  25.  
  26. #返回之前的树枝
  27. turtle.right(20)
  28. print('右转',20)
  29. turtle.backward(branch_length)
  30. def main():
  31. """
  32. 函数
  33. """
  34. turtle.left(90)
  35. turtle.penup()
  36. turtle.backward(150)
  37. turtle.pendown()
  38. draw_branch(100)
  39. turtle.exitonclick()
  40. if __name__ == '__main__':
  41. main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

猜你在找的Python相关文章