圣诞节来了,给大家画一个圣诞树

本文通过Python的Turtle模块演示了如何绘制一个由圆形和方形组成的复杂图案。该示例展示了如何使用循环来重复图形绘制过程,并通过条件判断来改变图形的颜色。

import os
import sys
import turtle

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


def demo2():
    screen = 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 = 0
    for 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()

    turtle.done()

if __name__ == "__main__":
    #demo1()
    demo2()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值