python turtle 八个嵌套雪花(科赫曲线组)

简介: python turtle 八个嵌套雪花(科赫曲线组)

这个就是八个科赫曲线!!!

import turtle
import time
def koch(size, n):  # 定义弯曲的直线使其有棱角
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0, 60, -120, 60]:  # 每一次都对其进行合理的角度改变
            turtle.left(angle)
            koch(size / 3, n - 1)
def main(n):
    global a
    global s
    if a == 1:
        turtle.color("black")  # 这边是控制画笔的颜色
    elif a == 2:
        turtle.color("purple")
    elif a == 3:
        turtle.color("blue")
    elif a == 4:
        turtle.color("Cyan")
    elif a == 5:
        turtle.color("green")
    elif a == 6:
        turtle.color("yellow")
    elif a == 7:
        turtle.color("orange")
    elif a == 8:
        turtle.color("red")
    if n != 0:
        a += 1
        turtle.penup()
        turtle.goto(-200 * (4 / 7) ** (s - n), 100 * (4 / 7) ** (s - n))
        # 每一次都是需要合理的等比例的扩大或是缩小
        turtle.pendown()
        turtle.pensize(2)
        level = 5
        koch(400 * (4 / 7) ** (s - n), level)  # 大小是一个一个试出来的
        # 不能超过setup的设定的范围 600,不然就越界了
        turtle.right(120)
        koch(400 * (4 / 7) ** (s - n), level)
        turtle.right(120)
        koch(400 * (4 / 7) ** (s - n), level)  # 注意这里koch一次就要转一次角度
        turtle.right(120)
        turtle.hideturtle()  # 隐藏画笔
        main(n - 1)
a=1
s = int(input())  # 输入其中的科赫曲线的个数
turtle.setup(600, 600)
turtle.speed(0)
main(s)  # main(8)

最后附上效果图

image.png

可能还是太小了,里面的看的不是很清楚。

PS:这个画的很慢,即便是speed(0)也很慢,所以调试的时候,最好先用level=2来进行调试。否则就很难顶了。。。

大佬的话就当我没说

相关文章
|
6月前
|
大数据 Python
Python中for循环的嵌套应用
Python中for循环的嵌套应用
81 1
|
2月前
|
Python
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
该文章展示了使用Python的turtle库进行绘图的进阶案例,包括绘制彩色圆形和复杂图案的代码示例。
331 6
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
|
2月前
|
Python
Python--turtle库科赫雪花的扩展
使用Python的turtle库创建科赫雪花,并加入随机阶数、尺寸、位置和颜色的功能,每次运行生成不同图像。
Python--turtle库科赫雪花的扩展
|
1月前
|
Java Python
Python if-else嵌套!
本文详细介绍了Python中的条件语句,包括`if`、`if...else`、嵌套`if`及`if-elif`语句。`if`语句在条件为真时执行特定代码块,`if...else`则在条件为假时执行备选代码块。嵌套`if`语句允许在一层`if`语句内嵌套另一层`if`语句,实现更复杂的条件判断。`if-elif`语句简化了多条件判断的流程。文章通过多个示例演示了这些语句的使用方法,并讨论了常见问题,如在嵌套`if`中使用`elif`以及`if`语句的嵌套层次等。
50 3
|
1月前
|
Java 程序员 C++
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
23 0
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
|
2月前
|
Python
turtle库的几个简单案例,代码可直接运行(python经典编程案例)
该文章提供了多个使用Python的turtle库绘制不同图形的简单示例代码,如画三角形、正方形、多边形等,展示了如何通过turtle进行基本的绘图操作。
137 5
|
6月前
|
大数据 Python
Python中while循环的嵌套应用详解
Python中while循环的嵌套应用详解
102 0
|
3月前
|
存储 缓存 C语言
|
3月前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
67 7
|
4月前
|
算法 数据中心 Python
Python雪花代码
在这段代码中,`SnowFlake`类用于生成唯一的ID。每次调用 `generate_id`方法时,它都会生成一个新的、唯一的ID。这个ID由时间戳、数据中心ID、工作机器ID和序列号组成,确保了在不同的时间、不同的数据中心、不同的工作机器上都能生成唯一的ID。
53 1