【教程】python递归三部曲(基于turtle实现可视化)-一、谢尔宾斯基三角形

谢尔宾斯基三角形——python递归 类似于分形树,分形三角形——谢尔宾斯基三角形同样是一种分形,由波兰数学家谢尔宾斯基在1915年提出。它是自相似集的例子。它的豪斯多夫维是log(3)/log(2) ≈ 1.585。对于谢尔宾斯基三角形的构造,可以先作一个正三角形,挖去一个“中心三角形”(即以原三角形各边的中点为顶点的三角形),然后在剩下的小三角形中又挖去一个“中心三角形”,我们用黑色三角形代表挖去的面积,那么白三角形为剩下的面积(我们称白三角形为谢尔宾斯基三角形)。如果用上面的方法无限连续地作下去,则谢尔宾斯基三角形的面积越趋近于零,而它的 阅读详情

递归三部曲:

〇、介绍递归及三原则
一、谢尔宾斯基三角形
二、汉诺塔
三、迷宫探索

1、谢尔宾斯基三角形

本教程为本人在b站投稿的视频教程对应的文字版
视频较详细,文本较简洁,大家选择一个看就好

谢尔宾斯基三角形(Sierpinski triangle),
是一种如图所示的分形
点击观看谢尔宾斯基三角形绘制动画(Sierpinski Triangle)
图一
这里分析一下其绘制过程
1、绘制一个三角形
2、取三角形的三边中点,
以每两个中点及其所在边共有的顶点,
三个一组,组合成三个小三角形,
对三个三角形进行绘制,
如下图所示,分别为ADF,DBE,FEC。
3、对2中的三个小三角形,重复步骤2。
在这里插入图片描述
理论上,步骤二可以无限重复下去,但是代码而言,要保证算法的有穷性,所以一般都是将步骤二运行有限次数之后结束。

2、结合递归三原则编写代码

首先,需要添加方法draw_sierpinski来绘制指定层数的谢尔宾斯基三角形

def draw_sierpinski(triangle,depth):
	"""
	绘制指定层数的谢尔宾斯基三角形
	triangle: 指定三角形三个顶点坐标,示例:((ax,ay),(bx,by),(cx,cy))。
	depth: 指定层数
	"""

这里再解释下depth这个层数的具体意思,即上面的步骤二执行的次数
那么下图从左到右,层数分别为:0,1,2,3,4
在这里插入图片描述
然后我们再分析下draw_sierpinski方法应该怎么写
1,绘制三角形triangle
2,如果层数depth为0则退出递归
3,取三角形中点,及对应形成的三个小三角形,
4,对这三个三角形,分别再次调用draw_sierpinski方法,
绘制depth-1的谢尔宾斯基三角形
为了实现上面四步,我们需要添加两个辅助方法
get_midpoint(a,b) : 返回a,b两点的中点坐标
draw_triangle(a,b,c) : 以a,b,c为顶点绘制三角形
最终代码如下

#!/usr/bin/python3
import turtle


t = turtle.Turtle()


def get_midpoint(a, b):
    ax, ay = a
    bx, by = b
    return (ax + bx) / 2, (ay + by) / 2


def draw_triangle(a, b, c):
    ax, ay = a
    bx, by = b
    cx, cy = c

    t.penup()
    t.goto(ax, ay)
    t.pendown()
    t.goto(bx, by)
    t.goto(cx, cy)
    t.goto(ax, ay)
    t.penup()


def draw_sierpinski(triangle, depth):
    """
    :param triangle: 指定三角形三个顶点坐标,示例:((ax,ay),(bx,by),(cx,cy))。
    :param depth: 指定层数
    """
    a, b, c = triangle
    draw_triangle(a, b, c)
    if depth == 0:
        return
    else:
        d = get_midpoint(a, b)
        e = get_midpoint(b, c)
        f = get_midpoint(c, a)
        draw_sierpinski([a, d, f], depth-1)
        draw_sierpinski([d, b, e], depth-1)
        draw_sierpinski([f, e, c], depth-1)


if __name__ == '__main__':
    triangle = [[-200, -100], [0, 200], [200, -100]]
    draw_sierpinski(triangle, 5)
    turtle.done()

运行效果如图
在这里插入图片描述
然后我们结合代码回顾一下递归三原则
如图所示:
在这里插入图片描述
这里补充一点,递归三原则的2和三常常是一起进行的,
即在向1中的基础情况靠拢的的情况下调用递归方法本身

3、最后补充:

问题1:没有颜色的变化
本人在b站的关于这个谢尔宾斯基三角形视频教程最终代码如步骤二中所示,但是有个小小的细节问题,就是不同层数的三角形之间没有颜色的变化,与本文开头的图一不符。所以最后还是要添加一下颜色的处理
问题2:最终运行结束后中间有黑点
大家看步骤二重最后运行效果图,中间有个黑点, 这个黑点是turtle画笔对象,一般是箭头样式,放在中间破坏了整个画面,隐藏掉就好了
解决问题一二后代码如下

#!/usr/bin/python3
import turtle


t = turtle.Turtle()
t.hideturtle()
FillColors=[
    '#CAE1FF',
    '#FFEFDB',
    '#8470FF',
    '#FF6347',
    '#FFDEAD',
    '#C1FFC1'
]


def get_midpoint(a, b):
    ax, ay = a
    bx, by = b
    return (ax + bx) / 2, (ay + by) / 2


def draw_triangle(a, b, c, depth):
    ax, ay = a
    bx, by = b
    cx, cy = c

    t.penup()
    _tcolor = FillColors[depth % len(FillColors)]

    t.color("black", _tcolor)
    t.goto(ax, ay)
    t.pendown()
    t.begin_fill()
    t.goto(bx, by)
    t.goto(cx, cy)
    t.goto(ax, ay)
    t.end_fill()
    t.penup()


def draw_sierpinski(triangle, depth):
    """
    :param triangle: 指定三角形三个顶点坐标,示例:((ax,ay),(bx,by),(cx,cy))。
    :param depth: 指定层数
    """
    a, b, c = triangle
    draw_triangle(a, b, c, depth)
    if depth == 0:
        return
    else:
        d = get_midpoint(a, b)
        e = get_midpoint(b, c)
        f = get_midpoint(c, a)
        draw_sierpinski([a, d, f], depth-1)
        draw_sierpinski([d, b, e], depth-1)
        draw_sierpinski([f, e, c], depth-1)


if __name__ == '__main__':
    triangle = [[-200, -100], [0, 200], [200, -100]]
    draw_sierpinski(triangle, 5)
    turtle.done()

此时运行效果如图
在这里插入图片描述
问题3:线条重画导致粗细不一
如果有朋友观察细致的话,会发现一些边线有时有粗细不一的情况。
在这里插入图片描述
这是由于每次重复绘制过程的第二步时,边线也被重复绘制了,但是重复绘制有时候并不一定和原来的边线是齐的,这种反复不齐导致整个线条实际上是有多个不完全一致的线段叠起来的,所以看上去会有粗有细。

实际上,步骤二为了让大家简单直接的理解递归,所以选择了重复绘制边线这种方便递归的方法来画谢尔宾斯基三角形,方便的缺点就是重画边线导致不齐的线段叠加,当然这个缺点对于初学者完全可以忽略。

如果我们要解决这个问题,实际上就需要调整我们的绘制过程,修改原来绘制过程中的步骤二,不过这会使递归略微麻烦一点点。
具体的可看我以前博客园写的文章,这篇文章里就用的是另外一种绘制过程,来避免了重复画线:https://www.cnblogs.com/BigShuang/p/10837020.html
我就不搬运过来了。

本文主要通过三个实例来帮助大家理解递归(其展示动画已上传B站):
谢尔宾斯基三角形(Sierpinski Triangle)
汉诺塔(Tower of Hanoi)
迷宫探索(Maze Exploring)
本文代码已上传到github:https://github.com/BigShuang/recursion-with-turtle
本文参考文献:
Problem Solving with Algorithms and Data Structures using Python
turtle官方文档:
中文:https://docs.python.org/zh-cn/3.6/library/turtle.html
英文:https://docs.python.org/3.6/library/turtle.html

Python递归图形绘制:从谢尔宾斯基到分形艺术 递归算法是计算机科学中的基础概念,通过函数自我调用实现复杂问题的分解。在图形绘制领域,递归尤其适合生成具有自相似特性的分形结构,如著名的谢尔宾斯基地毯和三角形。这类算法不仅展示了数学之美,更能训练程序员的抽象思维能力。使用Python的turtle模块可以直观实现这些图形,过程中涉及递归深度控制、坐标计算优化等关键技术点。分形图形在数据可视化、游戏设计、艺术创作等领域都有广泛应用,本文通过谢尔宾斯基结构的实现案例,演示了如何将递归思维转化为可视化成果,并分享性能调优的工程实践经验。 阅读详情

相关推荐

谢尔宾斯基三角形算法的Python实现

具体来说,我们先绘制左下角的三角形,然后向前移动一半的长度,再绘制右下角的三角形,最后绘制顶部的三角形。在绘制每个小三角形之后,我们需要调整海龟的方向和位置,以正确地绘制下一个小三角形。开始时,我们有一个初始的大三角形。然后,我们将其划分为三个较小的三角形,然后递归地对每个小三角形应用相同的划分过程,直到达到所需的细节级别。谢尔宾斯基三角形是一种经典的分形图形,它由一系列递归的三角形组成,每个三角形都是原始三角形的缩小副本。在本文中,我们将使用Python来实现谢尔宾斯基三角形算法,并生成这个美丽的图形。

WELL_CODER的博客 460

Python递归绘制谢尔宾斯基三角形

首先,回顾递归的概念: 一个函数不停地调用它本身,我们就认为这个函数使用了递归。 先来看一个谢尔宾斯基三角形的示例: 所以首先,我们需要一个方法,它能帮我们画三角形,在这里画一个三角形,需要引入Turtle模块,画三角形需要三个点的坐标,不做过多的叙述。注;规定左下角顶点为p[0],上方顶点和右顶点分别为p[1]p[2] from turtle import * def drawTriangle(points, color, myTurtle): myTurtle.fillcolo.

jluzhanghm1720的博客 3885

Sierpinski Triangle(谢尔宾斯基三角形)的 Python 实现

谢尔宾斯基三角形是一种递归图形,以波兰数学家瓦茨瓦夫·谢尔宾斯基(Wacław Sierpiński)的名字命名。参数的值来生成不同大小和深度的谢尔宾斯基三角形。这段代码使用递归的方式实现了谢尔宾斯基三角形的绘制,展现了递归在图形生成中的强大能力。最后,我们再次绘制深度减一的谢尔宾斯基三角形,并向左旋转 60 度回到起始位置。递归调用的过程中,我们先绘制深度减一的谢尔宾斯基三角形,然后向前移动。接下来,我们再次绘制深度减一的谢尔宾斯基三角形,并向后移动。函数中,我们首先检查递归的终止条件,即。

laugh666的博客 697

【数字三角形】递归

从 7 开始,往左下和右下有两种选择。如果选择左下,则把以 3 为顶的数字三角形看成一个新的问题,依次递归下去。递归需要能够处理所有子问题,那么如何标识每次问题中的数字三角形呢?从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。数字为首的数字三角形求出的最大和。去标记当前向左/右走的总步数。

m0_60641871的博客 562

别再问“这游戏啥引擎做的”了,手把手教你用SteamDB一键查询(附实战案例)

本文详细介绍了如何使用SteamDB一键查询游戏引擎信息,包括Unity 3D、Unreal Engine等热门引擎的识别方法。通过实战案例和高级查询技巧,帮助玩家快速获取游戏技术底细,优化游戏体验和兼容性分析。

weixin_31412781的博客 821

无限维李代数局部与2-局部1/2-导子:从概念到Witt代数实例解析

在抽象代数与数学物理中,李代数是描述对称性的基本结构,而导子则是刻画其微分性质的核心算子。从经典的导子概念出发,通过引入“局部”与“分数阶”两个关键推广,形成了局部导子、2-局部导子以及1/2-导子等重要研究方向。这些推广不仅深化了对无限维李代数(如Witt代数、Virasoro代数)复杂结构的理解,其研究方法和结论也为共形场论、可积系统等物理理论提供了数学基础。本文聚焦于无限维李代数上局部与2-局部1/2-导子的系统研究,通过拆解核心概念、剖析典型代数结构,并以Witt代数为实例,详细演示了从全局1/2-

weixin_34072296的博客 392

【教程】python递归三部曲(基于turtle实现可视化)-二、汉诺塔

1、汉诺塔 本教程为本人在b站投稿的视频教程对应的文字版(正在更新中) 视频较详细,文本较简洁,大家选择一个看就好 汉诺塔(Tower of Hanoi):汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上...

大爽老师的博客 2563

pytorch多层感知机实现假钞识别(完整项目构建)

目录1 项目构建2 超参数设置 config.py3 数据集预处理 preprocess.py4 数据集类构建 dataset_banknote.py5 模型构建 model.py6 训练trainer.py6.1 查看损失曲线7 在测试集上运行 inference.py 1 项目构建 构建项目文件夹Banknote,以及子文件夹与py文件。 名称 作用 data目录 存放原始数据与预处理后切分为训练集、验证机、测试集的数据 log目录 存放训练过程中保存的指标,如损失、精确度等

Demon_LMMan的博客 2027

【教程】python递归三部曲(基于turtle实现可视化)-三、迷宫探索

1、迷宫探索 本教程为本人在b站投稿的视频教程对应的文字版 视频较详细,文本较简洁,大家选择一个看就好 迷宫如下图,蓝色点为起点,绿色点为终点 点击查看迷宫探索动画 迷宫文本已上传github(如下图),点击这里查看 本地新建一个text文件夹,把这些txt放在text文件夹里面 这里我们那301.txt为例,文本内容如下: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

大爽老师的博客 2712

SAR图像降噪:基于小波变换和双边滤波器的Matlab实现

小波变换和双边滤波器是常用的图像降噪技术,它们可以在保持图像细节的同时有效抑制噪声。本文介绍了基于小波变换和双边滤波器的SAR图像降噪方法,并提供了相应的Matlab源代码。通过对比原始图像和降噪后的图像,可以观察到噪声得到一定程度的抑制,同时保留了图像的细节信息。本文将介绍一种基于小波变换和双边滤波器的方法,用于SAR图像的降噪,并提供相应的Matlab源代码。希望这篇文章能够帮助您理解基于小波变换和双边滤波器的SAR图像降噪方法,并为您提供实现该方法的Matlab源代码。对图像的高频部分进行降噪处理。

ScriptCharm的博客 840

【C++】构造函数之初始化列表(Initialization list of constructors)

本讲主要是构造函数的初始化列表的讲节,但是本节很重要,可以关乎后面写项目

m0_62599305的博客 2233

数据结构21:递归可视化(谢尔宾斯基三角形)

目录 一、谢尔宾斯基Sierpinski三角形 二、作图思路 三、代码 一、谢尔宾斯基Sierpinski三角形 分形构造,平面称谢尔宾斯基三角形,立体称希尔宾斯基金字塔。 下图中,根据自相似特性,希尔宾斯基三角形是由三个尺寸减半的谢尔宾斯基三角形按照品字形叠加而成。 二、作图思路 在degree有限的情况下,degree=n的三角形,是由3个degree=n-1的三角形按照品字形叠加而成。 同时,这3个degree=n-1的三角形的变成均为degree=n的三角形的一半(规模减.

xddwz的博客 2349

量子化学仿真软件:VASP_(7).表面与界面性质模拟

在量子化学仿真软件领域,表面与界面性质的模拟是研究多相催化、表面反应、材料科学等领域的关键工具。VASP(Vienna Ab Initio Simulation Package)作为一种广泛使用的密度泛函理论(DFT)计算软件,提供了强大的功能来模拟表面与界面的性质。本节将详细介绍如何使用VASP进行表面与界面性质的模拟,包括模型构建、输入文件准备、计算设置、结果分析等步骤。

kkchenjj的博客 950

【教程】python递归三部曲(基于turtle实现可视化)- 0 递归三原则

大家好,我是大爽歌 本教程为本人在b站投稿的视频教程对应的文字版(正在更新中) 视频较详细,文本较简洁,大家选择一个看就好 本文主要通过三个实例来帮助大家理解递归(其展示动画已上传B站): 谢尔宾斯基三角形(Sierpinski Triangle) 汉诺塔(Tower of Hanoi) 迷宫探索(Maze Exploring) 本文代码已上传到github:https://github.com...

大爽老师的博客 1179

10分钟搞定小红书爆款笔记爬取!Selenium模拟登录+数据解析全流程,新手也能落地

小红书爬虫实战的核心,是**“模拟真人操作+解析结构化数据”**——Selenium解决了动态页面和登录的问题,lxml解决了数据提取的问题,pandas解决了数据存储的问题。新手学爬虫不用一开始就啃复杂的反爬机制,先从这类“可见即可爬”的场景入手,掌握“模拟操作→数据解析→数据保存”的全流程,再逐步叠加异常处理、批量爬取、反爬应对等功能。需要注意的是:爬取数据仅用于个人学习和研究,不得用于商业用途,且需遵守小红书的用户协议,不要过度爬取导致服务器压力。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1729

MAX30102心率血氧传感器原理图设计,已量产(e-Health传感器)

在最近的便携健康监测设备项目中,我们采用了集成算法的 MAX30102 心率血氧模块 —— 这类带内置 MCU 算法的传感器能直接输出心率 / 血氧数值,大幅降低了主控资源占用。但硬件电路的稳定性直接决定了 PPG 信号的采集精度,下面结合实际项目里的原理图,拆解下这个模块的设计细节。

不脱发的程序猿 1280

数据结构与算法(Python版)二十二:递归可视化(谢尔宾斯基三角形)

谢尔宾斯基Sierpinski三角形 分形构造, 平面称谢尔宾斯基三角形, 立体称谢尔宾斯基金字塔 谢尔宾斯基三角形:作图思路 根据自相似特性, 谢尔宾斯基三角形是由3个尺寸减半的谢尔宾斯基三角形按照品字形拼叠而成 由于我们无法真正做出谢尔宾斯基三角形(degree->∞),只能做degree有限的近似图形。 代码 import turtle def sierpinski(degree, points): colormap = ['blue', 'red', 'green', 'white

神薯片 6256

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Python数据结构15:turtle模块制图,画直线,正方形,星星,递归可视化:分形树,谢尔宾斯基三角形

讲解turtle画图的方法 递归实现分形树和谢尔宾斯基三角形的原理和代码

YangStudent的博客 2495

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数据结构与算法Python版 递归与可视化

介绍递归“三定律”和实现分析。介绍递归可视化:分形树和谢尔宾斯基三角形。

分享、交流、合作 903

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

利用Python实现递归算法可视化

利用Python实现递归算法可视化 递归算法可视化有利于我们更清晰的理解递归算法。 在本文中,首先介绍递归函数以及递归算法的思想,然后,我们将利用Python来实现递归函数的可视化。 一、递归函数(递归算法)简介 递归的基本思想就是把规模大的问题转化为规模小的相似的子问题来解决。 递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。 另外,递归一定要有结束的条件。 二、递归可视化的实现方法 Python中自带有turtle模块,该模块是Python自带的绘图工具,因此我们可

江月的博客 1万+

谢尔宾斯基三角形c++_谢尔宾斯基三角形:python-turtle可视化实现

1 谢尔宾斯基三角形===============1.1 谢尔宾斯基三角形(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出。1.2 瓦茨瓦夫·弗朗西斯克·谢尔宾斯基,1882年3月14日-1969年10月21日,波兰数学家。2 python3.8-turtle黑白版===================2.1 效果图12.2 代码1#代码来源:修改...

weixin_39588252的博客 542

谢尔宾斯基三角形c++_Python数据结构与算法——谢尔宾斯基三角形(递归可视化)...

喜欢请点关注 代码见Github:https://github.com/YZYloveTDQ/turtle-application谢尔宾斯基三角形谢尔宾斯基(sierpinskr)三角形也是一种分形构造,平面称之为谢尔宾斯基三角形,立体的叫做谢尔宾斯基金字塔谢尔宾斯基三角形从理解上就是给定一个三角形,以“品”字形在里面堆叠三角形,每一层(degree)的三角形边长都是原三角形一半白色部...

weixin_39609407的博客 765

递归算法实现谢尔宾斯基分形图案

递归是计算机科学中解决自相似问题的核心方法,通过将复杂问题分解为相似的子问题来实现高效计算。分形几何作为递归算法的经典应用场景,展现了数学与编程的完美结合。谢尔宾斯基地毯和三角形通过简单的递归规则生成无限复杂的结构,成为理解递归思维的最佳案例。在Python中,利用turtle图形库可以直观展示分形生成过程,这种可视化方法不仅适用于教学演示,也可扩展到路径规划、图像压缩等工程实践领域。递归算法的时间复杂度分析揭示了分形生成的效率特性,而记忆化、尾递归等优化技术则解决了递归的常见性能瓶颈。

weixin_30323631的博客 455

递归绘图实战:用Python Turtle绘制谢尔宾斯基分形与康托集

递归是编程中抽象而强大的思维工具,理解它的核心在于把握自相似结构的拆分与组合。分形几何恰好提供了最直观的递归视觉化载体:无论放大哪一部分,整体与局部都呈现相似的形态。本文从分形与递归的基本原理出发,结合Python Turtle绘图库,深入拆解三个经典实例——谢尔宾斯基三角形、谢尔宾斯基地毯和康托集分段线,展示如何用递归算法生成分形图形,并揭示绘制过程中的常见陷阱、指数级性能瓶颈以及可视化调试技巧。通过参数化设计与“先收集后绘制”的优化思路,同一套递归框架可适配不同分形场景,为理解分治思想、构建网格生成或地

weixin_29758911的博客 245

python三角型递归图案_Python数据结构与算法29:递归可视化:谢尔宾斯基三角

注:本文如涉及到代码,均经过Python 3.7实际运行检验,保证其严谨性。本文阅读时间约为6分钟。谢尔宾斯基三角谢尔宾斯基(Sierpinski)是另外一种分形构造,如果是平面就称谢尔宾斯基三角形,如果是立体则称谢尔宾斯基金字塔。真正的谢尔宾斯基三角形是完全不可见的,面积为0,周长无穷,是介于一维和二维之间的分数维(约1.585维)构造,一个很奇特的几何形状。根据自相似特性,谢尔宾斯基三角形是有...

weixin_39621044的博客 383

python中turtle什么意思,Python中的turtle初探

turtlePython自带了一个turtle库,就像名字turtle说的那样,你可以创建一个turtle,然后这个turtle可以前进,后退,左转,这个turtle有一条尾巴,能够放下和抬起,当尾巴放下的时候,turtle走过的地方就留下了痕迹,也就是这只画笔的原理。下面的表格是基本的一些turtle的方法,这里简单列举了一点。命令解释turtle.Screen()返回一个singleton o...

weixin_29816241的博客 1万+
上一篇: 【教程】python递归三部曲(基于turtle实现可视化)- 0 递归三原则
下一篇: 【教程】python递归三部曲(基于turtle实现可视化)-二、汉诺塔
大爽歌
博客等级 码龄9年 422粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值