python画圣诞树_教你用Python画一棵圣诞树

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

最简单的方法:

height = 5stars = 1for i in range(height):    print((' ' * (height - i)) + ('*' * stars))    stars += 2print((' ' * height) + '|')

效果:

cb76ae93d5b84aa7715aad02c00526f8.png

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

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

import turtlescreen = turtle.Screen()screen.setup(375, 700) circle = turtle.Turtle()circle.shape('circle')circle.color('red')circle.speed('fastest')circle.up()square = turtle.Turtle()square.shape('square')square.color('green')square.speed('fastest')square.up()circle.goto(0, 280)circle.stamp()k = 0for i in range(1, 13):    y = 30 * i    for j in range(i - k):        x = 30 * j        square.goto(x, -y + 280)        square.stamp()        square.goto(-x, -y + 280)        square.stamp()    if i % 4 == 0:        x = 30 * (j + 1)        circle.color('red')        circle.goto(-x, -y + 280)        circle.stamp()        circle.goto(x, -y + 280)        circle.stamp()        k += 3    if i % 4 == 3:        x = 30 * (j + 1)        circle.color('yellow')        circle.goto(-x, -y + 280)        circle.stamp()        circle.goto(x, -y + 280)        circle.stamp()square.color('brown')for i in range(13, 17):    y = 30 * i    for j in range(2):        x = 30 * j        square.goto(x, -y + 280)        square.stamp()        square.goto(-x, -y + 280)        square.stamp()

效果:

c57e5c3a2f979df6f47343f4d2575b34.png

方法二:

import turtle# 定义圣诞树的绿叶函数def tree(d, s):    if d <= 0:        return    turtle.forward(s)    tree(d - 1, s * .8)    turtle.right(120)    tree(d - 3, s * .5)    turtle.right(120)    tree(d - 3, s * .5)    turtle.right(120)    turtle.backward(s)n = 100""" 设置绘图速度'fastest' :  0'fast'    :  10'normal'  :  6'slow'    :  3'slowest' :  1"""turtle.speed('fastest') # 设置速度turtle.left(90)turtle.forward(3 * n)turtle.color("orange", "yellow")turtle.left(126)# turtle.begin_fill()for i in range(5):    turtle.forward(n / 5)    turtle.right(144)    turtle.forward(n / 5)    turtle.left(72)    turtle.end_fill()turtle.right(126)turtle.color("dark green")turtle.backward(n * 4.8)# 执行函数tree(15, n)turtle.backward(n / 5)

效果:

ca2370930c0711f59bead06abc0e1c4e.png

PS:如果觉得我的分享不错,欢迎大家随手点赞、在看。

END
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值