如何用Python画一个圣诞树呢?
最简单:
1height = 5 2 3stars = 1 4for i in range(height): 5 print((' ' * (height - i)) + ('*' * stars)) 6 stars += 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(0,280) 15circle.stamp() 16k = 0 17for i in range(1, 17): 18 y = 30i 19 for j in range(i-k): 20 x = 30j 21 square.goto(x,-y+280) 22 square.stamp() 23 square.goto(-x,-y+280) 24 square.stamp() 25 if i % 4 == 0: 26 x = 30(j+1) 27 circle.color('red') 28 circle.goto(-x,-y+280) 29 circle.stamp() 30 circle.goto(x,-y+280) 31 circle.stamp() 32 k += 2 33 if i % 4 == 3: 34 x = 30(j+1) 35 circle.color('yellow') 36 circle.goto(-x,-y+280) 37 circle.stamp() 38 circle.goto(x,-y+280) 39 circle.stamp() 40square.color('brown') 41for i in range(17,20): 42 y = 30i 43 for j in range(3): 44 x = 30j 45 square.goto(x,-y+280) 46 square.stamp() 47 square.goto(-x,-y+280) 48 square.stamp() 49turtle.exitonclick()
效果:
方法二:
1from turtle import * 2import random 3import time 4 5n = 80.0 6 7speed("fastest") 8screensize(bg='seashell') 9left(90) 10forward(3n) 11color("orange", "yellow") 12begin_fill() 13left(126) 14 15for i in range(5): 16 forward(n/5) 17 right(144) 18 forward(n/5) 19 left(72) 20end_fill() 21right(126) 22 23color("dark green") 24backward(n4.8) 25def tree(d, s): 26 if d <= 0: return 27 forward(s) 28 tree(d-1, s.8) 29 right(120) 30 tree(d-3, s.5) 31 right(120) 32 tree(d-3, s*.5) 33 right(120) 34 backward(s) 35tree(15, n) 36backward(n/2) 37 38for i in range(200): 39 a = 200 - 400 * random.random() 40 b = 10 - 20 * random.random() 41 up() 42 forward(b) 43 left(90) 44 forward(a) 45 down() 46 if random.randint(0, 1) == 0: 47 color('tomato') 48 else: 49 color('wheat') 50 circle(2) 51 up() 52 backward(a) 53 right(90) 54 backward(b) 55time.sleep(60)
效果:
感兴趣的话就赶紧尝试一下吧!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。