python数据结构与算法 23 宾斯基三角形

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

宾斯基三角形

另一个演示自相似分形图的是宾斯基三角形,如图3所示。宾斯基三角形说明了一种三通递归算法。这种图形手绘非常简单。从一个大三角形开始,连接三个边的中点,把三角形分成4个。不管中间的三角形,把其余三个再次应用前述的过程。每一次都新建一些三角形,再把每个同样的过程递归应用到小三角形上,只要你的铅笔够细,这个过程可以无限进行下去。在读下面的代码之前,一定要拿出笔来,亲手画一遍。


图3 宾斯基三角形


既然这个过程可以无限进行,那么递归的基点在哪里?我们规定一个基点是切分的次数,这个次数有时被称为分形的“度”。递归调用一次,度减去1,直到0度为止。生成图3的代码如下:

import turtle
 
defdrawTriangle(points,color,myTurtle):
    myTurtle.fillcolor(color)
    myTurtle.up()
    myTurtle.goto(points[0][0],points[0][1])
    myTurtle.down()
    myTurtle.begin_fill()
   myTurtle.goto(points[1][0],points[1][1])
    myTurtle.goto(points[2][0],points[2][1])
    myTurtle.goto(points[0][0],points[0][1])
    myTurtle.end_fill()
 
def getMid(p1,p2):
    return ( (p1[0]+p2[0]) / 2, (p1[1] + p2[1])/ 2)
 
defsierpinski(points,degree,myTurtle):
    colormap =['blue','red','green','white','yellow',
                'violet','orange']
   drawTriangle(points,colormap[degree],myTurtle)
    if degree > 0:
        sierpinski([points[0],
                        getMid(points[0],points[1]),
                        getMid(points[0],points[2])],
                   degree-1, myTurtle)
        sierpinski([points[1],
                        getMid(points[0],points[1]),
                        getMid(points[1],points[2])],
                   degree-1, myTurtle)
        sierpinski([points[2],
                        getMid(points[2],points[1]),
                        getMid(points[0],points[2])],
                   degree-1, myTurtle)
 
def main():
   myTurtle = turtle.Turtle()
   myWin = turtle.Screen()
   myPoints = [[-100,-50],[0,100],[100,-50]]
   sierpinski(myPoints,3,myTurtle)
   myWin.exitonclick()
 
main()


上述代码正是前面思想的实现。第一件要做的事情就是画出外层的三角形,然后有三个递归调用,每个调用对应中点连线后形成的三个角上新三角形,再次使用turtle模块。关于turtle的方法细节,可以使用help(‘turtle’)查看。

从代码分析一下绘制的顺序。顺序其实取决于最初的设定,我们假设三个角的顺序是左,上,右。因为宾斯基算法是递归算法,自我调用,所以它会把最左角上最小的三角形画完,再画其他的小三角形。然后是上部的三角形,它是先把最上面的小三角形画面,再画其他。右边也遵循同样的规律。

把递归算法用函数调用图的形式有助于理解。图4所示的递归调用,一直是向左的。被调用状态的函数是白色,不活动的函数是灰色的。向下一直到最底层,可以看到,最小的三个函数调用是一次完成的,画完左边,然后是中间,然后是右边。依次类推。


Sierpinski函数非常依赖于getMid函数,getMid取得两点作参数,返回中点。

另外,上面代码中有一个函数划填充的三角形,为了表明每个层级使用了不同的颜色来绘制。


关于谢尔宾斯基三角形(Sierpinski triangle)的讲解 阅读详情

相关推荐

用python画一个五角星的代码,用python画星号三角形

首先观察传入的列表长度是在循环之处就已经加上了,所以此时的遍历次数是不变的,注意看 end = ' ,',每次打印后都会在最大的字母后加上' , ' , 所以输出的函数中最后边是带有标识号的。大家好,小编为大家解答用python画一个五角星的代码的问题。7.软件需求规格说明的内容包括软件的主要功能,软件的性能,以及运行环境,不包括算法的详细设计,算法详细设计是详细设计阶段的工作。从A的选项中也可以明显的看出来是对字典进行操作,然后将字典的键值对作为元组 ,把所有的元组组合起来的 items 组合数据。

nbhkk的博客 1103

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

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

jluzhanghm1720的博客 3885

遗传算法之扇贝的进化(python代码实现)

遗传算法之扇贝进化,使用python代码实现

twq1689739507的博客 1575

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

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

xddwz的博客 2347

2024-03-23青少年软件编程(Python语言)等考(五级)解析

2024-03-23青少年软件编程(Python语言)等考(五级)解析

lybc2019的博客 1194

《算法之美》Python实验代码全解析:从环境配置到排序算法实战

算法是计算机程序设计的核心,而Python凭借简洁语法成为实现算法与数据结构实验的首选语言。通过将抽象的分治、递归、动态规划等思想转化为可直接运行的代码,学习者能直观观察排序、搜索等经典算法的执行过程,从而快速理解时间复杂度与边界条件等关键概念。无论是配置VS Code开发环境,还是处理Python基础语法中的缩进问题,实践都是掌握算法的最佳途径。本文围绕《算法之美》实验代码包,从项目结构、核心实现、运行调试到常见报错排查,系统拆解如何利用Python亲手复现二分查找、快速排序、背包问题等经典算法,帮助初学

weixin_32921023的博客 865

用python写出各种三角形

** 适用于初学者的各种三角形练习 ** (1)直角三角形 for i in range(10): for j in range(0,i): print("*",end=" ") for r in range(i,10): print(" ",end=" ") print("") 倒立直角三角形 for i in range(10): for j in range(i,10): print("*",end=" ")

weixin_45046067的博客 2万+

su03t语音模块烧录识别不出问题解决方法

su03t语音sdk烧录无法识别问题

weixin_49387645的博客 6388

python绘制等边三角形的代码_python绘制等边三角形

原博文2019-04-28 16:07 −定义一个函数,参数为三角形的边长和颜色,并调用该函数绘制两个边长颜色不同的等边三角形 1 def draw(l,color): 2 import turtle 3 turtle.setup(900,600,200,200) 4 turtle.penup() # 笔抬...相关推荐2019-12-06 14:02 −学习提纲生成指定...

weixin_40008566的博客 7913

概率论 知识图谱 + 实战案例解析

本文通过构建概率论知识图谱,系统梳理了从随机试验、概率、条件概率到随机变量与分布的核心概念及其内在联系。结合朴素贝叶斯分类器和蒙特卡洛模拟等实战案例,深入解析了条件概率、独立性及大数定律等理论如何应用于机器学习与实际问题求解,旨在帮助读者建立结构化思维,将理论有效转化为解决实际问题的能力。

weixin_29051193的博客 265

高通thermal-engine.conf配置详解:从虚拟传感器到CPU频率控制的完整指南

本文深入解析了高通thermal-engine.conf配置文件的架构与调优方法。从虚拟传感器的加权融合原理,到监控算法与CPU频率控制的多级策略,提供了完整的配置详解与实战调试指南。文章旨在帮助开发者与高级用户掌握底层温控逻辑,在性能与散热间实现精准平衡,并详细介绍了日志调试与场景化配置等高级技巧。

weixin_28327051的博客 493

牛客真题(23)-数三角形

今天继续刷牛客真题,判断一个数组中,存在多少能构成三角形的三个点。 分析: 第一步:输入; 第二步:找出这个数组中能够形成三角形的组合个数; 第三步:判断每个组合是否能构成三角形(如果三点共线,那么就不会构成三角形)。 问题: 1、审题要仔细; 2、判断能够构成三角形用三点共线; 附上C++代码: #include<iostream> #include<vector> us...

JerryZengZ的博客 554

MT6768平台Sensor Bring Up全流程实战:从驱动添加到问题排查(附避坑指南)

本文详细介绍了联发科MT6768平台Sensor Bring Up的全流程实战指南,从驱动添加、硬件配置到问题排查,提供了全面的避坑建议。内容涵盖环境准备、驱动文件集成、硬件接口配置、编译系统适配以及常见问题解决方案,帮助开发者高效完成传感器集成与调试工作。

weixin_30374009的博客 416

120.三角形最小路径和 python

给定一个三角形 triangle ,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出:11 解释:如下面简图所示: 2 3 4 6 5 7 4 1 8 3 自顶向下的最小路径和为 11(即,2 + 3 +

sysu63的博客 1248

OpenRA引擎实战:如何从零开始搭建一个经典RTS游戏模组(附资源包)

本文详细介绍了如何利用开源游戏引擎OpenRA从零开始搭建经典RTS游戏模组。内容涵盖开发环境配置、资源管线处理、YAML规则定义、地图编辑与Lua脚本编写等全流程实战指南,并提供了资源包,帮助开发者和爱好者快速创建属于自己的即时战略游戏世界。

silver的专栏 902

[官方培训]22-UE资产优化 Epic 肖月 笔记

Nanite+Lumen目标:面向TA,美术,不影响视觉的前提下,优化运行和编辑效率引擎:UE5.1延迟管线平台:主流PC,Windows 10 with DX12。

Tcohneyn的博客 1574

数据结构与算法Python版(完整版)P8

大O表示法 Python数据结构 抓大头,数量级 决定运行时间的不仅是问题规模,还跟工况有关,平均状况 常见的七种 P10 变位词判断问题 问题: 解法1 解法2:先排序后比较 def paiXU(s1,s2): a=list(s1) b=list(s2) a.sort() b.sort() pos=0 matches=True ...

weixin_43332626的博客 1577

某物data魔改与变种算法还原(含加解密Py纯算)

某物data加解密、设备指纹魔改、变异、自定义加密分析与纯算还原

吴秋霖的博客 1278

python将0-23放在4行6列三角形中

""" 功能:将0-23放在4行6列三角形中 作者: 时间: """ arr1 = [] for i in range(1,25): arr1.append(i) matrix = [] for i in range(1, 5): row = [] for j in range(1, 7): row.append(arr1[(i - 1) * 6 + j - 1]) matrix.append(row) print(matrix) ...

dmzshyl1123的博客 113

YOLO系列算法改进 | Head改进篇 | 融合Detect_LSCD轻量共享卷积检测头 | 轻量化设计破解计算瓶颈,增强复杂场景目标感知能力

YOLO系列算法改进 | Head改进篇 | 融合Detect_LSCD轻量共享卷积检测头 | 轻量化设计破解计算瓶颈,增强复杂场景目标感知能力 (以YOLO26最新目标检测模型为基础,融合Detect_LSCD检测头进行改进)

2502_91881744的博客 702

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Python数据结构与算法分析(第二版)

对列表进行加长操作,比较不同方法的性能pop性能分析。

aha_xigua的博客 2550

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

n阶数字三角形

n阶数字三角形 题目描述: 给定一个整数 nn。输出一个 nn 行数字,nn 行数字中的第 ii 行包含 n - i + 1 个由空格隔开的整数 i(1 ≤ i ≤ n)。 提示:请注意每行的末尾不要有多余的空格。 输入格式 你的程序将会接受一个整数,表示 n(0< n ≤ 30)。 输出格式 输出 n 行数字 对于 n 行数字中的第 i 行包含 n - i + 1 个由空格隔开的整数 i( 1 ≤ i ≤ n) 如果对输出格式理解有一定困难,请参考样例输出 样例输入1 2 样例输出1 1 1

Xxjsjxb_的博客 590

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

算法之路,坎坷多艰

数据结构与算法!!声明(想用本专栏学习算法的看这)!!参考书目:1.介绍1.1 目标1.2 快速开始1.3 什么是计算机科学1.4 什么是编程1.5 为什么要学习数据结构和抽象数据类型1.6 为什么要学习算法1.7 回顾Python基础2.算法分析2.1 目标2.2 什么是算法分析2.3 大O符号2.4 一个乱序字符串检查的例子2.5 Python数据结构的性能2.6 列表2.7 字典2.8 总...

Nebularr的博客 548

Python基础的四十二道题目(由易到难)

在前期学习python的时候,看的是北京大学的郭炜老师的Mooc,讲的很棒,我后面只看到了第八章,那么对于我来说是足够用了,最近有想要看看后面的,之前做到openjudge的栏目收入的是这个Mooc的oj平台的题目,我会把之前的专栏删除,添加到这里来,如果有时间,我会再更新这里。(很可能不会)不过我觉得大家学会这些题目,对于python的学习,我觉得应该是够了,不管后期要学哪方面,补一补忘记的地方,很快就能上手,python的难度不在语法,而在于它拥有许许多多的第三方库,每种库的学习也都是了解函数有什么功能

m0_62919535的博客 1万+

[luogu p1498] 南蛮图腾

传送门 题面 题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷......帮忙,作为一个好孙子的孙子的孙子的孙子......你能做到吗? 输入输出格式 每个数据一个数字,表示图腾的大小(此大小非彼...

crab_xbc的博客 321
上一篇: python数据结构与算法 22 递归图形
下一篇: python数据结构与算法 24 汉诺塔问题(河内塔问题)
杀了这个男孩
博客等级 码龄18年 149粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值