用python画圣诞树-圣诞节!教你用 Python 画棵圣诞树

原标题:圣诞节!教你用 Python 画棵圣诞树

用python画圣诞树-圣诞节!教你用 Python 画棵圣诞树_第1张图片

作者 | 糖甜甜甜

责编 | 胡巍巍

如何用Python画一个圣诞树呢?

最简单:

1height = 5

2

3stars = 1

4for i in range(height):

5print((' '* (height - i)) + ('*'* stars))

6stars += 2

7print((' '* height) + '|')

效果:

用python画圣诞树-圣诞节!教你用 Python 画棵圣诞树_第2张图片

哈哈哈哈,总有一种骗了大家的感觉。

其实本文是想介绍Turtle库来画圣诞树。

方法一:

1import turtle

2screen = turtle.Screen()

3screen.setup(800,600)

4circle = turtle.Turtle()

5circle.shape('circle')

6circle.color('red')

7circle.speed('fastest')

8circle.up()

9square = turtle.Turtle()

10square.shape('square')

11square.color('green')

12square.speed('fastest')

13square.up()

14circle.goto(0,280)

15circle.stamp()

16k = 0

17for i in range(1, 17):

18y = 30*i

19forj in range(i-k):

20x = 30*j

21square.goto(x,-y+280)

22square.stamp()

23square.goto(-x,-y+280)

24square.stamp()

25ifi % 4== 0:

26x = 30*(j+1)

27circle.color('red')

28circle.goto(-x,-y+280)

29circle.stamp()

30circle.goto(x,-y+280)

31circle.stamp()

32k += 2

33ifi % 4== 3:

34x = 30*(j+1)

35circle.color('yellow')

36circle.goto(-x,-y+280)

37circle.stamp()

38circle.goto(x,-y+280)

39circle.stamp()

40square.color('brown')

41for i in range(17,20):

42y = 30*i

43forj in range(3):

44x = 30*j

45square.goto(x,-y+280)

46square.stamp()

47square.goto(-x,-y+280)

48square.stamp()

49turtle.exitonclick()

效果:

用python画圣诞树-圣诞节!教你用 Python 画棵圣诞树_第3张图片

方法二:

1from turtle import*

2import random

3import time

4

5n = 80.0

6

7speed("fastest")

8screensize(bg='seashell')

9left(90)

10forward(3*n)

11color("orange", "yellow")

12begin_fill()

13left(126)

14

15for i in range(5):

16forward(n/5)

17right(144)

18forward(n/5)

19left(72)

20end_fill()

21right(126)

22

23color("dark green")

24backward(n*4.8)

25def tree(d, s):

26ifd <= 0: return

27forward(s)

28tree(d-1, s*.8)

29right(120)

30tree(d-3, s*.5)

31right(120)

32tree(d-3, s*.5)

33right(120)

34backward(s)

35tree(15, n)

36backward(n/2)

37

38for i in range(200):

39a = 200- 400* random.random()

40b = 10- 20* random.random()

41up()

42forward(b)

43left(90)

44forward(a)

45down()

46ifrandom.randint(0, 1) == 0:

47color('tomato')

48else:

49color('wheat')

50circle(2)

51up()

52backward(a)

53right(90)

54backward(b)

55time.sleep(60)

效果:

用python画圣诞树-圣诞节!教你用 Python 画棵圣诞树_第4张图片

感兴趣的话就赶紧尝试一下吧!

祝大家平安夜快乐!!!圣诞节快乐!!!

6733d37f715e4b39aa32063345d9e73f.png

b2aea5b6a55b4ff6a768973b52acbab8.png

作者:糖甜甜甜,985高校经管研二,擅长用Python、R、tableau等工具结合统计学和机器学习模型做数据分析。个人公众号:经管人学数据分析(ID:DAT-2017)

声明:本文为作者投稿,版权归对方所有。

责任编辑:

你可能感兴趣的:(用python画圣诞树-圣诞节!教你用 Python 画棵圣诞树)