- 博客(25)
- 收藏
- 关注
原创 RabbitMQ 在python下的一个坑 AMQPHeartbeatTimeout: No activity or too many missed heartbeats in the last 60
业务场景 : 这个场景下RabbitMQ 是作为 分布式消息队列 的作用出现的,这里用的是RabbitMQ 的Routing模式 ,这个就是在发布/订阅者 模式下 使用RoutingKey 去匹配多个队列,使得发布者可以根据实际的情况把消息发送到指定的一个或多个消费者队列中去问题出现 的 异常 :pika.exceptions.AMQPHeartbeatTimeout: No activity or too many missed heartbeats in the last 60 sec...
2020-05-09 16:08:24
2630
原创 详解 归并排序 、快速排序 (python实现)
归并排序思路:1.分解:把原数组不断的从中间分解,一直到只剩下一个元素为止2.合并:(1)创建一个临时数组,把当前两个分开的数组同时遍历(2)同时根据游标比较两个值的大小,把小的那个值放入临时数组,同时放入临时数组的那一个数组的游标往后移动一步,...
2020-04-28 18:17:03
373
原创 详解 冒泡排序、插入排序、选择排序
冒泡排序(BubbleSort)冒泡排序是基本的一种排序算法,实现思想是:从数组头到尾相邻的两个数两两比较,(从小到大排序)然后把值比较大的那个数一直放在比较两数中的后一个,这样大的数会一直的往数组后面走,直到该比较趟数的最后一个..整个过程那个大的数就像冒泡一样一直往后走..可能这就是名字的由来吧def bubbleSort(l): leght = len(l) fo...
2020-04-09 18:38:23
276
原创 顺序队列和链式队列的python实现
队列: 是一种受限的线性数据结构,先进先出,尾端插入头端出列顺序队列数组实现的队列: 1.在出队的时候整个队列的数据都往头迁移,这样的话时间复杂度就是O(n),入队的时间复杂度为O(1) 2.出队的时候直接从队头弹出一个数据,然后头指针往后迁移一步,这中出队操作的时间复杂度是O(1),但是入队就需要判定下是否队列满了,假如满了但是头指针在队头就扩充,假如头指针在队尾就做数据迁移但是这...
2020-04-03 14:26:45
744
原创 栈的几种应用场景
1.栈来实现表达式求值def match_number(sign,one_number,two_number): if sign == "*": return one_number * two_number elif sign == "/": return one_number / two_number elif sign == "...
2020-04-02 15:16:55
3409
原创 顺序栈、链式栈的python实现
栈是一种基本的数据结构,特点是只能在一端进行插入和删除操作,操作顺序是先进后出,后进先出 ;栈根据实现方式可以分为顺序栈和链式栈,顺序栈是用数组来实现,链式栈是用链表来实现顺序栈的出栈操作的只涉及尾端的弹出操作,时间复杂度为O(1),而入栈操作,当插入的操作在顺序栈的最大空间时,是O(1);当大于数组的长度时,这时候需要进行动态扩容,而动态扩容会重新申请一个更大的空间,并把原来的数据迁...
2020-04-02 14:57:13
1003
原创 实现单链表和循环链表
单链表是一种线性数据结构,特点是:(1) .分配空间是不需要一块大的内存空间,因为每个节点都可以独立存储; (2) .从最后添加一个节点的时间复杂度为 O(1) , 增删查找操作的时间复杂度都为O(n)节点类 : class Node : def __...
2020-03-22 14:22:20
602
原创 一种破解算术运算验证码的经典示范(100%识别成功率)
图像demo如上图所示: 看起来挺简单,也没有任何的干扰,首先想到的是tesseract,觉得这样的数字应该是能识别的,可是经过测试后确定tesseract是识别不出来,又想到会不会是因为符号干扰了识别,所以这里就分割出来,处理成下图那样经测试了还是不行。这时候想到的就是用深度学习去训练了,可是训练需要大量的标注的训练数据,觉得弄这些训练数据太麻烦了,有没有其他方法呢?其实是有...
2020-03-20 18:00:01
11004
12
原创 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。方法一 : 把数字转化为字符串,再遍历一半的字符串 , 一边遍历一边比较,当出现不一样的返回def isPalindrome(x): if x < 0 : return False x = str(x) l = len(x) if l % 2 == 0: ...
2020-01-15 11:10:25
164
原创 几种常见的位运算
位运算是一种用于对整数类型变量的某一位bit(或几位)直接进行操作的运算,优点是运算速度会比算术运算快;常用的运算符有 & , |,^,~,<<,>>.&运算:& 按位与(双目) : 将参与运算的两操作数各对应的二进制位进行与操作,只有对应的两个二进制位都为1时,结果对应二进制才为1,否则为0例如 : 求 23& 4523用...
2019-09-26 16:09:57
1995
转载 1.2.04 -- 计算球的体积
描述对于半径为r的球,其体积的计算公式为V=4/3*πr3,这里取π= 3.14。现给定r,求V。输入输入为一个不超过100的非负实数,即球半径,类型为double。输出输出一个实数,即球的体积,保留到小数点后2位。#include <iostream>#include <cstdio>using namespace std;int ...
2019-08-15 14:49:32
2114
原创 1.2.03 -- 空格分隔输出
描述读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。输入共有四行:第一行是一个字符;第二行是一个整数;第三行是一个单精度浮点数;第四行是一个双精度浮点数。输出输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。#include <iostream>...
2019-08-15 14:48:39
322
原创 1.2.02 -- 输出保留12位小数的浮点数
描述读入一个双精度浮点数,保留12位小数,输出这个浮点数。输入只有一行,一个双精度浮点数。输出也只有一行,保留12位小数的浮点数。#include <iostream>#include <cstdio>using namespace std;int main(){ double a; cin >> a; printf...
2019-08-15 14:47:48
674
原创 1.2.01 -- 对齐输出
描述读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们。输入只有一行,包含三个整数,整数之间以一个空格分开。输出只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。#include <iostream>#include <cstdio>using namespace std;int main(){ int a, b, ...
2019-08-15 14:46:55
319
原创 1.1.06 -- 浮点型数据类型存储空间大小
描述分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。输入无。输出一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。#include <iostream>#include <cstdio>using namespace std;int main(){ float a...
2019-08-15 14:45:48
278
原创 1.105 -- 整型数据类型存储空间大小
描述分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。输入无。输出一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开#include <iostream>#include <cstdio>using namespace std;int main(){ int a; short b;...
2019-08-15 14:44:46
201
原创 1.1.04 打印字符
描述输入一个ASCII码,输出对应的字符。输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出一行,包含相应的字符。#include <iostream>#include <cstdio>using namespace std;int main(){ int a; cin >> a; cout <&l...
2019-08-15 14:43:47
141
原创 1.1.03--打印ASCII码
描述输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。输入一个除空格以外的可见字符。输出一个十进制整数,即该字符的ASCII码。#include <iostream>#include <cstdio>using namespace std;int main(){ char a; c...
2019-08-15 14:42:24
223
原创 1.1.02--字符菱形
描述给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。输入输入只有一行, 包含一个字符。输出该字符构成的菱形#include <iostream>#include <cstdio>using namespace std;int main(){ char a; cin >> a; cout << ...
2019-08-15 14:39:16
470
原创 1.1.01--输出第二个整数
描述输入三个整数,把第二个输入的整数输出。输入只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。输出只有一行,一个整数,即输入的第二个整数。#include <iostream>#include <cstdio>using namespace std;int main(){ int a, b, c; cin &...
2019-08-15 14:37:42
326
原创 python 的smtplib 的坑 554 DT:SPM 163 smtp12
我在发送邮件的时候!授权码各方面都写正确了!但是却遇到下面那个异常! 开始以为是传送的文本的内容有问题!被当成了是垃圾邮件不允许发送!然后改了很多次都不行!后来找了很久!才发现是From 和 To 的坑!import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerm...
2018-09-03 15:22:55
17451
30
原创 scrapy框架的Spiders模块的基本类Spider的主要方法以及作用
Spider 是最基本的类,所有编写的爬虫必须继承这个类!这个类的主要功能(也是spiders模块在框架里的作用): 1.发起起始的请求 2.解析响应,抽取数据和跟进的url ①定义了爬取行为 ②定义了数据抽取行为 通俗来说就是解析response,分析得到数据以及产生新的url以下是Spider源码里面核心模块的主要功能Spider源代码的init方法:初始化并判定spid...
2018-05-08 21:13:23
3867
原创 flask 的自定义转换器
根据具体的需求,有些时候是需要用到正则来灵活匹配URL,但是Flask的路由匹配机制是不能直接在路由里直接写正则的,这时候就需要使用转换器!Flask的默认转换器:DEFAULT_CONVERTERS = {‘default’: UnicodeConverter,‘string’: UnicodeConverter,‘any’: AnyConverter,‘path’: PathConverter...
2018-04-23 16:38:23
1272
原创 python的网络通讯 :UDP以及TCP
一般的网络t通讯就是,让在网络中不同的电脑上的软件能够进行数据传递,即网络中不同主机进程之间的通信!而python里实现网络通讯是有UDP和TCP两种实现方式!UDP 协议:是一种无状态的连接方式,它是一种报文型的连接,也就是它只会把数据发送过去,但是对于数据是否正确发送到达,并且对于在发送过程中出现的各种问题,它都不会关心!它的特点就是快!udp传输代码实现的流程图TCP协议:也叫传输控制协议,...
2018-04-23 10:39:14
1545
原创 python三大神器之一装饰器
装饰器的作用:在不改变原函数的情况下给函数增加功能!装饰器由闭包和语法糖组成闭包:即两个函数嵌套,外部函数返回内部函数的引用,外部函数一定会传入参数,外部函数起的是交换引用的作用:把要装饰的参数(也就是装饰前的函数)与 装饰后的函数的引用对换,而里层的函数做的是执行操作,调用原函数就是在这里执行的!#闭包模型#外函数def set_fun(func): def call_fun( *args...
2018-04-23 09:13:00
6153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人