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

作者 | 糖甜甜甜

责编 | 胡巍巍

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

最简单:

1height =5

2

3stars =1

4for i inrange(height):

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

6stars +=2

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

效果:

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

其实本文是想介绍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(,280)

15circle.stamp()

16k =

17for i inrange(1,17):

18y =30*i

19forj inrange(i-k):

20x =30*j

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

22square.stamp()

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

24square.stamp()

25ifi %4==:

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 inrange(17,20):

42y =30*i

43forj inrange(3):

44x =30*j

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

46square.stamp()

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

48square.stamp()

49turtle.exitonclick()

效果:

方法二:

1from turtleimport*

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 inrange(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

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 inrange(200):

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

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

41up()

42forward(b)

43left(90)

44forward(a)

45down()

46ifrandom.randint(,1) ==:

47color('tomato')

48else:

49color('wheat')

50circle(2)

51up()

52backward(a)

53right(90)

54backward(b)

55time.sleep(60)

效果:

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

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

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

热 文推 荐

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181225A0KK8100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券