Python--turtle库科赫雪花的扩展

简介: 使用Python的turtle库创建科赫雪花,并加入随机阶数、尺寸、位置和颜色的功能,每次运行生成不同图像。

对科赫雪花的一个扩展--实现了随机位置,随机阶数,随机颜色,随机尺寸的功能

附上代码

一、随机阶数

def randomlevel():
level = random.randint(1, 4)
level = int(level)
return level

二、随机尺寸-随机位置

def randomSize():
size = random.randint(50, 100)
size = int(size)
return size

def randomDrawX():
x=random.randint(-500,500)
x=int(x)
return x

def randomDrawY():
y=random.randint(-300,300)
y=int(y)
return y

三、随机颜色

def randomcolor():
colorArr = ['1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
color = ""
for i in range(6):

    # 拼接字符串
    color += colorArr\[random.randint(0,14)\]
return "#"+color

四、全部代码

import turtle,random

主函数

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 randomlevel():
level = random.randint(1, 4)
level = int(level)
return level

随机尺寸

def randomSize():
size = random.randint(50, 100)
size = int(size)
return size

随机位置

def randomDrawX():
x=random.randint(-500,500)
x=int(x)
return x

def randomDrawY():
y=random.randint(-300,300)
y=int(y)
return y

随机颜色

def randomcolor():
colorArr = ['1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
color = ""
for i in range(6):
color += colorArr[random.randint(0,14)]
return "#"+color

def main():
turtle.setup(1200,700,100,100)

#设置画布背景颜色
turtle.screensize(bg="#F8F8FF")
turtle.pensize(1)
line = randomlevel()
size = randomSize()
numbers= random.choice(\[3, 4, 5, 6, 7, 8, 9,\])
for i in range(0,numbers):
    turtle.penup()
    x = randomDrawX()
    y = randomDrawY()
    turtle.color(randomcolor(),"white")
    turtle.goto(x, y)
    turtle.speed(2000)
    turtle.pendown()
    koch(size, line)
    turtle.right(120)
    koch(size, line)
    turtle.right(120)
    koch(size, line)
turtle.done()
turtle.hideturtle()

main()

五、效果图--每次运行生成不同的图像

最后说一声啊,这类似一个模板,可以随便修改颜色啥的。

相关文章
|
7月前
|
编译器 Linux C语言
python C语言扩展之简单扩展-使用ctypes访问C代码
python C语言扩展之简单扩展-使用ctypes访问C代码
59 0
|
1月前
|
缓存 监控 测试技术
Python中的装饰器:功能扩展与代码复用的利器###
本文深入探讨了Python中装饰器的概念、实现机制及其在实际开发中的应用价值。通过生动的实例和详尽的解释,文章展示了装饰器如何增强函数功能、提升代码可读性和维护性,并鼓励读者在项目中灵活运用这一强大的语言特性。 ###
|
2月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
501 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
2月前
|
Python
Python扩展TimedRotatingFileHandler
【10月更文挑战第7天】 python log执行扩展压缩功能
59 0
|
3月前
|
存储 缓存 API
比较一下 Python、C、C 扩展、Cython 之间的差异
比较一下 Python、C、C 扩展、Cython 之间的差异
46 0
|
4月前
|
算法 关系型数据库 程序员
程序员必备技能)基于Python的鼠标与键盘控制实战扩展与源码
这篇文章是关于如何使用Python的`pyautogui`库来控制鼠标和键盘进行各种操作,包括移动、点击、滚轮控制以及键盘的按键和快捷键输出,并介绍了如何结合图像处理和计算机视觉技术来扩展其应用。
|
5月前
|
算法 数据中心 Python
Python雪花代码
在这段代码中,`SnowFlake`类用于生成唯一的ID。每次调用 `generate_id`方法时,它都会生成一个新的、唯一的ID。这个ID由时间戳、数据中心ID、工作机器ID和序列号组成,确保了在不同的时间、不同的数据中心、不同的工作机器上都能生成唯一的ID。
60 1
|
4月前
|
测试技术 程序员 开发者
探索代码整洁之道:编写可维护和可扩展的Python程序
【8月更文挑战第3天】在编程的海洋中,我们经常追求的是那些能够高效运行、易于理解和维护的代码。本文将深入探讨如何通过遵循一系列的最佳实践来提升Python代码的整洁度,从而增强其可维护性和可扩展性。我们将通过具体示例,展示如何应用这些原则来编写更优雅、更健壮的Python程序。
41 0
|
6月前
|
算法 数据中心 Python
基于python雪花算法工具类Snowflake-来自chatGPT
基于python雪花算法工具类Snowflake-来自chatGPT
132 4
|
6月前
|
数据安全/隐私保护 Python
Python装饰器是高阶函数,用于在不修改代码的情况下扩展或修改函数行为。它们提供可重用性、模块化和无侵入性的功能增强。
【6月更文挑战第20天】Python装饰器是高阶函数,用于在不修改代码的情况下扩展或修改函数行为。它们提供可重用性、模块化和无侵入性的功能增强。例如,`@simple_decorator` 包装`my_function`,在调用前后添加额外操作。装饰器还能接受参数,如`@logged("INFO", "msg")`,允许动态定制功能。
49 6
下一篇
DataWorks