python画雪花(装*)

本文通过Python的turtle模块实现科赫雪花曲线的绘制,展示了递归算法在图形生成中的应用。作者分享了一段简洁的代码,能够根据设定的级别生成复杂的几何图案。

话不多说代码走起

import turtle
def koch(size, n):
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0, 60, -120, 60]:
            turtle.left(angle)
            koch(size/5, n-1)
def main():
    turtle.setup(800,800)
    turtle.penup()
    turtle.goto(-300, -50)
    turtle.pendown()
    turtle.pensize(2)
    turtle.color('red')  #blue等可以换颜色
    level = 3
    koch(600, level)
    turtle.right(120)
    koch(600, level)
    turtle.right(120)
    koch(600, level)
    turtle.hideturtle()
    turtle.done()
main()

在这里插入图片描述
虽然看起来简陋,但是,…,好吧。它就是很简陋。但我的能力只能到这了

虽然给定引用未直接提供绘制圣诞树的源代码,但通常使用`turtle`库绘制圣诞树的代码示例如下: ```python import turtle import random # 设置布和笔 screen = turtle.Screen() screen.setup(width=800, height=600) screen.bgcolor("black") pen = turtle.Turtle() pen.speed(0) pen.color("green") # 定义树的函数 def draw_tree(branch_length, pen): if branch_length > 5: if 8 <= branch_length <= 12: if random.randint(0, 2) == 0: pen.color('snow') else: pen.color('lightcoral') pen.pensize(branch_length / 3) elif branch_length < 8: if random.randint(0, 1) == 0: pen.color('snow') else: pen.color('lightcoral') pen.pensize(branch_length / 2) else: pen.color('green') pen.pensize(branch_length / 10) pen.forward(branch_length) angle = random.randint(20, 40) # 右分支 pen.right(angle) draw_tree(branch_length - random.randint(8, 12), pen) # 左分支 pen.left(2 * angle) draw_tree(branch_length - random.randint(8, 12), pen) pen.right(angle) pen.penup() pen.backward(branch_length) pen.pendown() # 移动笔到起始位置 pen.penup() pen.goto(0, -250) pen.setheading(90) pen.pendown() # 树 draw_tree(100, pen) # 树干 pen.color("brown") pen.pensize(30) pen.penup() pen.goto(0, -250) pen.pendown() pen.setheading(-90) pen.forward(100) # 星星 star = turtle.Turtle() star.speed(0) star.color("yellow") star.penup() star.goto(0, 200) star.pendown() star.begin_fill() for i in range(5): star.forward(30) star.right(144) star.end_fill() # 雪花 snowflakes = [] for _ in range(100): snow = turtle.Turtle() snow.speed(0) snow.color("white") snow.penup() x = random.randint(-350, 350) y = random.randint(-250, 300) snow.goto(x, y) snow.pendown() size = random.randint(5, 15) snow.dot(size) snowflakes.append(snow) # 隐藏笔 pen.hideturtle() star.hideturtle() # 保持窗口打开 turtle.done() ``` 这段代码使用`turtle`库绘制了一棵圣诞树,包括树身、树干、星星和雪花饰。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值