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

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

3f7b0e006f2a4895ad94bebc9a17ad72.jpeg

| 作者:糖糖甜甜

| 来源:经管人学数据分析(ID:DAT-2017)

| 欢迎转载,请注明出处。

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

最简单:

1height = 5

2

3stars = 1

4fori inrange(height):

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

6stars += 2

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

效果:

34d774af370c45d6a6813dbaec0991f9.png

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

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

方法一:

1importturtle

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

17fori 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== 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')

41fori 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()

效果:

ce1da2c4412b44b59a8dd0eaa7f5ffe7.png

方法二:

1fromturtle import*

2importrandom

3importtime

4

5n = 80.0

6

7speed("fastest")

8screensize(bg='seashell')

9left(90)

10forward(3*n)

11color("orange", "yellow")

12begin_fill()

13left(126)

14

15fori inrange(5):

16forward(n/5)

17right(144)

18forward(n/5)

19left(72)

20end_fill()

21right(126)

22

23color("dark green")

24backward(n*4.8)

25deftree(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

38fori inrange(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)

效果:

411ee20b433145798b49f4b5377fdb89.gif

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

祝大家圣诞节快乐!!!

c3a38fed2f50445487d3e46bf195f891.png

责任编辑:

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值