当前位置:   article > 正文

怎么用编程Python写一个圣诞树?_python圣诞树

python圣诞树

​python圣诞树代码

1、简单的绘制圣诞树

新建tree1.py或者直接输入下面代码运行

  1. #声明树的高度
  2. height = 5
  3. #树的雪花数,初始为1
  4. stars = 1
  5. #以数的高度作为循环次数
  6. for i in range(height):
  7. print((' ' * (height - i)) + ('*' * stars))
  8. stars += 2
  9. #输出树干
  10. print((' ' * height) + '|')

2、使用turtle绘制简单圣诞树

新建tree2py,输入以下代码#导入turtle库

  1. import turtle
  2. #设置屏幕大小
  3. screen = turtle.Screen()
  4. screen.setup(800,600)
  5. #获取画笔并设置一些属性:圆形、红色、快
  6. circle = turtle.Turtle()
  7. circle.shape('circle')
  8. circle.color('red')
  9. circle.speed('fastest')
  10. #抬起画笔
  11. circle.up()
  12. #重新获取画笔
  13. square = turtle.Turtle()
  14. #重新设置画笔属性:四方形、绿色、快
  15. square.shape('square')
  16. square.color('green')
  17. square.speed('fastest')
  18. #重新抬起画笔
  19. square.up()
  20. #跳到指定坐标位置
  21. circle.goto(0,280)
  22. #复制当前图形
  23. circle.stamp()
  24. k = 0
  25. for i in range(1, 17):
  26. y = 30*i
  27. for j in range(i-k):
  28. x = 30*j
  29. square.goto(x,-y+280)
  30. square.stamp()
  31. square.goto(-x,-y+280)
  32. square.stamp()
  33. if i % 4 == 0:
  34. x = 30*(j+1)
  35. circle.color('red')
  36. circle.goto(-x,-y+280)
  37. circle.stamp()
  38. circle.goto(x,-y+280)
  39. circle.stamp()
  40. k += 2
  41. if i % 4 == 3:
  42. x = 30*(j+1)
  43. circle.color('yellow')
  44. circle.goto(-x,-y+280)
  45. circle.stamp()
  46. circle.goto(x,-y+280)
  47. circle.stamp()
  48. square.color('brown')
  49. for i in range(17,20):
  50. y = 30*i
  51. for j in range(3):
  52. x = 30*j
  53. square.goto(x,-y+280)
  54. square.stamp()
  55. square.goto(-x,-y+280)
  56. square.stamp()
  57. turtle.exitonclick()

运行:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

3、使用Turtle绘制复杂圣诞树

新建tree3.py,输入以下代码#导入所依赖的库

  1. from turtle import *
  2. import random
  3. import time
  4. n = 80.0
  5. #设置速度快
  6. speed("fastest")
  7. #背景颜色 海贝壳色,偏粉色
  8. screensize(bg='seashell')
  9. left(90)
  10. forward(3*n)
  11. color("orange", "yellow")
  12. begin_fill()
  13. left(126)
  14. for i in range(5):
  15. forward(n/5)
  16. right(144)
  17. forward(n/5)
  18. left(72)
  19. end_fill()
  20. right(126)
  21. color("dark green")
  22. backward(n*4.8)
  23. def tree(d, s):
  24. if d <= 0: return
  25. forward(s)
  26. tree(d-1, s*.8)
  27. right(120)
  28. tree(d-3, s*.5)
  29. right(120)
  30. tree(d-3, s*.5)
  31. right(120)
  32. backward(s)
  33. tree(15, n)
  34. backward(n/2)
  35. for i in range(200):
  36. a = 200 - 400 * random.random()
  37. b = 10 - 20 * random.random()
  38. up()
  39. forward(b)
  40. left(90)
  41. forward(a)
  42. down()
  43. if random.randint(0, 1) == 0:
  44. color('tomato')
  45. else:
  46. color('wheat')
  47. circle(2)
  48. up()
  49. backward(a)
  50. right(90)
  51. backward(b)
  52. time.sleep(60)

运行如下:

​Python 易学难精,不是一朝一夕就能深入掌握。在这分享我珍藏的「学 Python 知识框架图」,系统地梳理了入门 Python 的必备知识点,建议保存。

由于文章有限制,在此不能一一展示,需要完整版的朋友可以扫描下方微信二维码免费获取:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/325910
推荐阅读
相关标签
  

闽ICP备14008679号