之前介绍过遗传算法,参见:https://www.cnblogs.com/LoganChen/p/7509702.html我们用Python实现同样的问题解答。y=10*sin(5*x)+7*abs(x-5)+10我们来求这个函数在0-10之间的最大值。先来看一下这个函数的图像:importnumpyasnpimportmatplotlib.pyplotasplt"""**Colors**Thefollowingcolorabbreviationsares
系统 2019-09-27 17:57:15 2246
Python使用对象模型来存储数据。构造任何类型的值都是一个对象所有的Python对象都拥有三个特性:身份、类型、值身份:每一个对象都有一个唯一的身份来标志自己,任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址类型:对象的类型决定了该对象可以保存什么类型的值,可以进行怎样的操作,以及遵循什么样的规则,可以使用内建函数type()查看Python对象的类型:复制代码代码如下:>>>type([1,2])>>>type(24)>
系统 2019-09-27 17:55:13 2246
=一、链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而
系统 2019-09-27 17:54:53 2246
练习杨辉三角定义如下:1/\11/\/\121/\/\/\1331/\/\/\/\14641/\/\/\/\/\15101051把每一行看做一个list,试写一个generator,不断输出下一行的list:期待输出:#[1]#[1,1]#[1,2,1]#[1,3,3,1]#[1,4,6,4,1]#[1,5,10,10,5,1]#[1,6,15,20,15,6,1]#[1,7,21,35,35,21,7,1]#[1,8,28,56,70,56,28,8,1
系统 2019-09-27 17:53:12 2246
“”"思路:1.a*b=a+a+a+…2.a*b=n个a相加,只需求证b=n即可3.用for循环遍历即可,b就是range的最大次数4.需考虑a,b有五种情况存在,但结果会有三种,正数,0,负数“”"defmultiplication(a,b):ifa>0andb>0:sum=0foriinrange(b):sum+=aprint(sum)elifa<0andb<0:sum=0foriinrange(-b):sum+=asum=-sumprint(sum)
系统 2019-09-27 17:52:27 2246
安装IDEApython插件流程:File>Settings>Plugins>BrowseRepositories>Searchpython>Install>Restart点击旁边绿色的install,稍等片刻即可完成安装。安装完成后原本的install按钮变成了restart,说明需要重启IntellijIdea。点击按键即可重启。这样,python的插件就安装完成了。配置python开发环境下载下载地址:https://www.python.org/g
系统 2019-09-27 17:50:30 2246
在python并行处理任务时要使用多线程还是多进程?说到这个话题,必须要提的GIL(GlobalInterpreterLock)全局解释锁,当Cpython每次执行字节码时都要先申请这个锁。那么问题就来了,如果使用多线程是比也会受到影响。多线程和多进程程序比较,哪个性能更高?还是拿一个实例运行来看看吧~#写一个简单的例子,计算100W个随机数的和8次,同时将分散到8个线程进行运算。#thread.py#!/usr/bin/envpythonimportra
系统 2019-09-27 17:48:57 2246
python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序、去重,字典排序,字典、列表、字符串互转,时间对象操作,命令行参数解析(getopt),print格式化输出,进制转换,Python调用系统命令或者脚本,Python读写文件。1、正则表达式替换目标:将字符串line中的overview.gif替换成其他字符串复制代码代码如下:>>>line=''>>>mo=re.compile(r'(?<=SRC=)"([\w+\.]+
系统 2019-09-27 17:47:40 2246
一、死锁简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况。1、迭代死锁该情况是一个线程“迭代”请求同一个资源,直接就会造成死锁:importthreadingimporttimeclassMyThread(threading.Thread):defrun(self):globalnumtime.sleep(1)ifmutex.acquire(1):num=num+1msg=self.name
系统 2019-09-27 17:46:39 2246
现在,越来越多的公司面试以及考验面试对算法要求都提高了一个层次,从现在,我讲每日抽出时间进行5+1算法题讲解,5是指基础题,1是指1道中等偏难。希望能够让大家熟练掌握python的语法结构已经一些高级函数的应用。这些题目是在某些刷题的网站上登记的有水平的题目。这里如果有需要input的简单题,就略去了输出结果。如果时间充裕,则就会增加每日更多习题。一:基础算法题5道1.判断用户输入的年份是否为闰年题目解析:(1)问题分析:能被4整除但不能被100整除的年份
系统 2019-09-27 17:46:05 2246
#!/usr/bin/envpython#coding:utf8importos,sysimportmd5,tabfrommysql_co.my_dbimportset_mysqlfromssh_co.ssh_connectimportsshdfromssh_co.cfg.configimportssh_message,item_pathfromfileimportfindfiledefmy_mysql():db_file={}my_connect=set
系统 2019-09-27 17:45:42 2246
这个函数的功能是返回给定axis上的累计和函数的原型如下:详见docnumpy.cumsum(a,axis=None,dtype=None,out=None)Returnthecumulativesumoftheelementsalongagivenaxis.官方的文档是没有详细解释,本人做了测试自己把理解的写下。1.对于一维输入a(可以是list,可以是array,假设a=[1,2,3,4,5,6,7],就是当前列之前的和加到当前列上,如下:>>>imp
系统 2019-09-27 17:54:38 2245
这样做的缘由工作需要把100多张图片中的文字(主要是车牌号)提取出来,并作为文件名字。用python从头到尾写车牌识别的功能,耗时耗力。故在网上寻找可用于直接图片文字识别的接口直接调用,省时省力。用百度AI平台接口的理由有百度经验提供每一步的参考,且通用文字识别(高精度版)的功能每天有500次的免费试用机会,且当前功能没有并发需求。故非常适合达到临时目的。具体步骤用百度账号登录百度AI开放平台:https://login.bce.baidu.com选择要使
系统 2019-09-27 17:52:24 2245
什么是爬虫爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程。爬虫的分类1.通用爬虫:通用爬虫是搜索引擎(Baidu、Google、Yahoo等)“抓取系统”的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。简单来讲就是尽可能的;把互联网上的所有的网页下载下来,放到本地服务器里形成备分,在对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。搜索引擎如何抓取互联网上的网站数据?门户网站主
系统 2019-09-27 17:52:22 2245
场景说明假设有一个mysql表被水平切分,分散到多个host中,每个host拥有n个切分表。如果需要并发去访问这些表,快速得到查询结果,应该怎么做呢?这里提供一种方案,利用python3的asyncio异步io库及aiomysql异步库去实现这个需求。代码演示importloggingimportrandomimportasynciofromaiomysqlimportcreate_pool#假设mysql表分散在8个host,每个host有16张子表TB
系统 2019-09-27 17:50:32 2245