前言二叉树(BinaryTree)时数据结构中一个非常重要的结构,其具有。。。。(此处省略好多字)。。。。等的优良特点。之前在刷LeetCode的时候把有关树的题目全部跳过了,(ORZ:我这种连数据结构都不会的人刷j8Leetcode啊!!!)所以!!!敲黑板了!!!今天我就在B站看了数据结构中关于树的内容后,又用我浅薄的Python大法来实现一些树的建立和遍历。关于树的建立我觉得层序建立对于使用者来说最为直观,输入很好写。(好吧,我是看LeetCode中
系统 2019-09-27 17:54:59 2196
最近我用Python做了一个国际象棋程序并把代码发布在Github上了。这个代码不到1000行,大概20%用来实现AI。在这篇文章中我会介绍这个AI如何工作,每一个部分做什么,它为什么能那样工作起来。你可以直接通读本文,或者去下载代码,边读边看代码。虽然去看看其他文件中有什么AI依赖的类也可能有帮助,但是AI部分全都在AI.py文件中。AI部分总述AI在做出决策前经过三个不同的步骤。首先,他找到所有规则允许的棋步(通常在开局时会有20-30种,随后会降低到
系统 2019-09-27 17:53:42 2196
(给程序员的那些事加星标)翻译:伯乐在线/tsteho,英文:NickParsons切换到新的编程语言始终是一件大事,尤其是在这种严峻的情况下:团队成员中仅有一人具备该种语言的使用经验。今年年初,我们将Stream的主要编程语言从Python切换到了Go。这篇文章将给出一些理由以说明两个问题:为什么我们决定舍弃Python?又是为什么选择了Go?为什么使用Go?原因1–性能Go的运行速度非常快。性能类似于Java或者C++。对于我们的使用情况来说,Go一般
系统 2019-09-27 17:52:56 2196
Python3爬取猫眼电影信息importjsonimportrequestsfromrequests.exceptionsimportRequestExceptionimportreimporttime#爬取猫眼电影信息defget_one_page(url):#增加了User-Agent识别,需要在headers中添加User-Agent参数。try:headers={'User-Agent':'Mozilla/5.0(Macintosh;IntelM
系统 2019-09-27 17:51:37 2196
数据聚合与分组处理——数据聚合、分组运算与转换、透视表与交叉表代码#-*-coding:utf-8-*-from__future__importdivisionfromnumpy.randomimportrandnimportnumpyasnpimportosimportmatplotlib.pyplotaspltnp.random.seed(12345)plt.rc('figure',figsize=(10,6))frompandasimportSeri
系统 2019-09-27 17:50:37 2196
之前遇到一个场景是这样的:我在自己的电脑上需要用mongodb图形客户端,但是mongodb的服务器地址没有对外网开放,只能通过先登录主机A,然后再从A连接mongodb服务器B。本来想通过ssh端口转发的,但是我没有从机器A连接ssh到B的权限。于是就自己用python写一个。原理很简单。1.开一个socketserver监听连接请求2.每接受一个客户端的连接请求,就往要转发的地址建一条连接请求。即client->proxy->forward。proxy
系统 2019-09-27 17:50:32 2196
概述:通信数据交换方式分为几种模式:全双工、半双工和单工数据传输;问题:什么是全双工、半双工和单工?解释:全双工(FullDuplex)是通讯传输的一个术语。通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工指可以同时(瞬时)进行信号的双向传输(A→B且B→A)。指A→B的同时B→A,是瞬时同步的,四线制。单工就是在只允许甲方向乙方传送信息,而乙方不能向甲方传送。半双工(HalfDuplex)数据传输指数据可以在一个信号载体的
系统 2019-09-27 17:49:56 2196
要求:python写一个要求用户输入数字,如果不是数字就一直循环要求输入,直到输入数字为止的代码错误打开方式:whileTrue:ten=input('Enteranumber:')iftype(eval(ten))==type(int):break用这个输入字母可以可是输入字母就直接报错中断了主要出在eval上。python3.0第一个方案:whileTrue:ten=input("x:")try:x=eval(ten)iftype(x)==int:br
系统 2019-09-27 17:49:37 2196
由于客户提供的是excel文件,在使用时期望使用csv文件格式,且对某些字段内容需要做一些处理,如从某个字段中固定的几位抽取出来,独立作为一个字段等,下面记录下使用acaconda处理的过程;importpandasdf=pandas.read_excel("/***/***.xlsx")df.columns=[内部为你给你的excel每一列自定义的名称](比如我给我的excel自定义列表为:["url","productName","***",。。。,"
系统 2019-09-27 17:49:31 2196
今天这篇文章中我们来了解一下python之中的字典,在这文章之中我会对python字典修改进行说明,以及举例说明如何修改python字典内的值。废话不多说,我们开始进入文章吧。首先我们得知道什么是修改字典修改字典向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:#!/usr/bin/pythondict={'Name':'Zara','Age':7,'Class':'First'};dict['Age']=8;#updateexis
系统 2019-09-27 17:49:04 2196
本文实例讲述了Python从函数参数类型引出元组。分享给大家供大家参考,具体如下:自定义函数:特殊参数defshow(name="jack",*info):print(name)#jackprint(info)#(22,'男')show("jack",22,"男")可以看出22,"男"全部归为了函数的第二个参数*info。我们可以看到打印这个info参数结果是:小括号包起来的形式。函数的特殊参数升级上面见识了函数参数*xxx这种形式,下面看看2个*的形式。
系统 2019-09-27 17:48:48 2196
启动python从IDLE启动PythonIDLE是一个PythonShell。Shell的意思是“外壳”,是一个通过键入文本与程序交互的途径(类似windows中的cmd。VisualStudio也是一种Shell)>>>是指Python准备好了,可以输入Python指令alt+N快速回到上一条语句(复制粘贴);alt+P下一条字符串print("hello,world")#"内是字符串"计算print(5+3)括号内没有""+print("ilove"
系统 2019-09-27 17:48:40 2196
女友让我给她论文的图片上加上字母序号,本来觉得是个很简单的事情,但那个白底黑字的圆圈序号却难住了我,试了几个常用的软件,都不行。后来用PS+动作,倒是能搞出来,不过也不容易,正好那天没搞完,于是拿回自己家做,但我的电脑上又没有PS,所以就用python实现了。效果图这里用的图片全是240X240的,按文件名的首字母作为序号,PIL虽然可以计算文字的尺寸,但类似D这样的字符依然不能处于圆圈的正中,所以还对个别字符做了偏移设置,本来想用aggdraw画圆圈的,
系统 2019-09-27 17:48:05 2196
支持向量机是一种二分类模型,基本模型是定义在特征空间的间隔最大的线性分类器。间隔最大化使它有别于感知机。在面试中,经常遇到手推SVM,所以公式的推导也很重要。模型:策略:间隔最大化,形式化为求解凸二次规划,等价于正则化的合页损失函数最小化算法:略支持向量机包括:线性可分支持向量机,线性支持向量机,非线性支持向量机间隔最大化的直观解释:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。使其面对最难分的实例点也有足够大的确信度将它们
系统 2019-09-27 17:47:32 2196
遍历Redis数据库中有以格式为PREFIX_*的按照key-value方式存储的key,并打印其值.遍历使用SCAN,因为KEYSPREFIX_*可能会造成Redis长时间阻塞。查询使用pipeline减少交互,提高效率。importredisimporthiredispool=redis.ConnectionPool(host='127.0.0.1',port=6379,db=0)r=redis.Redis(connection_pool=pool)p
系统 2019-09-27 17:47:28 2196