前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >圣诞节!教你用 Python 画棵圣诞树

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

原创
作者头像
程序员皮克
发布2021-12-22 09:47:32
1.1K0
发布2021-12-22 09:47:32
举报
文章被收录于专栏:Python2Python2

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

最简单:

代码语言:javascript
复制
​1height = 5 2 3stars = 1 4for i in range(height): 5    print((' ' * (height - i)) + ('*' * stars)) 6    stars += 2 7print((' ' * height) + '|')

效果:

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

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

方法一:

代码语言:javascript
复制
​ 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()

效果:

方法二:

代码语言:javascript
复制
​ 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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档