一心想学习算法,很少去真正静下心来去研究,前几天趁着周末去了解了最短路径的资料,用python写了一个最短路径算法。算法是基于带权无向图去寻找两个点之间的最短路径,数据存储用邻接矩阵记录。首先画出一幅无向图如下,标出各个节点之间的权值。其中对应索引:A――>0B――>1C――>2D――>3E――>4F――>5G――>6邻接矩阵表示无向图:算法思想是通过Dijkstra算法结合自身想法实现的。大致思路是:从起始点开始,搜索周围的路径,记录每个点到起始点的权值
系统 2019-09-27 17:51:19 2348
博文大纲:一、Python条件判断二、Python的循环三、循环的控制四、Python的循环综合示例一、Python条件判断Python中的条件判断语句有if语句,if双分支、if多分支语句,其执行过程与shell中的if语句完全一样,只是语法有些差异,如下(文中所有的if语句执行流程图都是借鉴与shell中的):注意:在Python中,关于代码缩进有严格的要求,Python是采用空格缩进的方式表示一组语句,通常用4个空格表示一组语句(默认会有4个空格缩进
系统 2019-09-27 17:50:41 2348
首先是数据源:#需要求加权平均值的数据列表elements=[]#对应的权值列表weights=[]使用numpy直接求:importnumpyasnpnp.average(elements,weights=weights)附纯python写法:#不使用numpy写法1round(sum([elements[i]*weights[i]foriinrange(n)])/sum(weights),1)#不使用numpy写法2round(sum([j[0]*j[
系统 2019-09-27 17:50:32 2348
关于Python3进度打卡文章目录关于Python3进度打卡第一天——9.4一、安装环境变量二、关于编辑三、基本介绍第二天——9.5一、基本数据类型二、基本语句三、编程实践第三天——9.7一、制作贪吃蛇游戏的准备二、需求及算法分析三、代码实现四、一些全局参数的初始化五、关于贪吃蛇及食物的位置六、关于贪吃蛇的上下左右移动七、判断能否迟到食物八、绘制贪吃蛇、食物的函数九、贪吃蛇的逻辑调用十、主逻辑层判断游戏是否结束第一天——9.4一、安装环境变量1、首先访问h
系统 2019-09-27 17:50:31 2348
关于pythonsetup.pybdistpythonsetup.pysdist两者的区别sdist指的是sourcedist即源码发布,带setup.pybdist指的是built(binary)dist即编译过(二进制)发布不带setup.py查看setup.py各种编译命令参数pythonsetup.py--help-commands查看具体某个命令参数pythonsetup.pybdist--help查看setup.py配置的参数pythonset
系统 2019-09-27 17:50:27 2348
文章目录print全部高亮单个高亮[mysql]高亮查询存html存excelprint全部高亮w='比赛't='比赛开始没多久就结束了比赛,现在没有比赛'defreplace_color(text,word):new_word='\033[031m'+word+'\033[0m'#redlen_w=len(word)len_t=len(text)foriinrange(len_t-len_w,-1,-1):iftext[i:i+len_w]==word:
系统 2019-09-27 17:48:36 2348
众所周知,中文输入法是一个历史悠久的问题,但也实在是个繁琐的活,不知道这是不是网上很少有人分享中文拼音输入法的原因,接着这次NLPProject的机会,我觉得实现一发中文拼音输入法,看看水有多深,结果发现还挺深的,但是基本效果还是能出来的,而且看别的组都做得挺好的,这次就分享一下我们做的结果吧。(注:此文假设读者已经具备一些隐马尔可夫模型的知识)任务描述实现一个中文拼音输入法。经过分析,分为以下几个模块来对中文拼音输入法进行实现:核心功能包括拼音切分(Sp
系统 2019-09-27 17:48:20 2348
matplotlib是功能十分强大的绘制二维图形的Python模块,它用Python语言实现了MATLAB画图函数的易用性,同时又有非常强大的可定制性。它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览、复制、粘贴一下,基本上都能搞定!实例代码如下:
系统 2019-09-27 17:47:56 2348
我们都知道,序列可以迭代。但是,你知道为什么吗?本文来探讨一下迭代背后的原理。序列可以迭代的原因:iter函数。解释器需要迭代对象x时,会自动调用iter(x)。内置的iter函数有以下作用:(1)检查对象是否实现了iter方法,如果实现了就调用它,获取一个迭代器。(2)如果没有实现iter方法,但是实现了getitem方法,而且其参数是从零开始的索引,Python会创建一个迭代器,尝试按顺序(从索引0开始)获取元素。(3)如果前面两步都失败,Python
系统 2019-09-27 17:46:04 2348
一个功能的实现,可以用多种语句来实现,比如说:while语句、for语句、生成器、列表推导、内置函数等实现,然而他们的效率并不一样。写了一个小程序来测试它们执行的效率。测试内容:将一个数字大小为20万的数字,依次取绝对值,放到列表中,测试重复1千次.测试程序:复制代码代码如下:importtime,sysreps=1000#测试重复次数nums=200000#测试时数字大小deftester(func,*args):#总体测试函数startTime=tim
系统 2019-09-27 17:45:55 2348