
python
王伴农
就职于国内某知名互联网企业,网站后端开发
展开
-
IndentationError:expected an indented block错误的解决办法
第一次写py文件,执行的时候老是出现IndentationError:expected an indented block这个错误,我还以为自己程序写的有问题,试了很多。一般运行py文件要符合一下几个简单步骤:#!/usr/bin/env python#注意上面这一行必须是第一行顶头写。# python file example. # assume we name this fi原创 2013-11-15 19:49:33 · 92416 阅读 · 0 评论 -
Valid Palindrome
code:class Solution: # @param s, a string # @return a boolean def isPalindrome(self, s): zheng = '' fan = '' for i in s: if (i >= 'a' and i = 'A' and原创 2014-12-01 21:59:26 · 553 阅读 · 0 评论 -
Plus One
题目:Given a non-negative number represented as an array of digits, plus one to the number.The digits are stored such that the most significant digit is at the head of the list.思路:简单的大数加法class原创 2014-12-01 23:35:01 · 552 阅读 · 0 评论 -
Climbing Stairs
题目:You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?思路:爬楼梯的问题,斐波那契数列,应该见过很多回了原创 2014-12-01 23:48:41 · 614 阅读 · 0 评论 -
python-2.7.11 already installed, it's just not linked解决办法
通过brew安装python失败,提示:sudo brew install pythonPassword:Warning: python-2.7.11 already installed, it's just not linked解决办法:sudo brew link --overwrite python原创 2016-07-25 09:16:19 · 4929 阅读 · 0 评论 -
【leetCode】 Balanced Binary Tree python版实现
原题链接Balanced Binary Tree实现原理解析 该题比较简单,主要思想是递归的判断左右子树的高度不大于1即可,注意异常处理python代码实现class Solution(object): def isBalanced(self, root): """ :type root: TreeNode :rtype: bool原创 2016-06-18 16:56:00 · 1410 阅读 · 0 评论 -
【contains-duplicate】leetCode python实现
原题链接contains-duplicate实现原理解析 该题比较简单,比较去重后的长度和原始长度是否一致即可python代码实现class Solution(object): def containsDuplicate(self, nums): """ :type nums: List[int] :rtype: bool原创 2016-06-18 17:16:09 · 648 阅读 · 0 评论 -
【leetCode】Path Sum II python实现
Path Sum II原题链接Path Sum II实现原理解析 该题使用深度搜索实现即可python代码实现import copy# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.le原创 2016-06-18 21:54:06 · 1635 阅读 · 0 评论 -
【leetCode】Sum Root to Leaf Number python实现
Sum Root to Leaf Numbers原题链接Path Sum II实现原理解析 该题使用深度搜索找到所有路径,然后把每个路径下的数加起来即可python代码实现import copyclass Solution(object): def __init__(self): self.paths = [] self.path = []原创 2016-06-18 22:40:32 · 553 阅读 · 0 评论 -
【leetCode】Binary Tree Zigzag Level Order Traversal python实现
Binary Tree Zigzag Level Order Traversal原题链接Binary Tree Zigzag Level Order Traversal实现原理解析 层次遍历即可,对于偶数层的做反向python代码实现import copy# Definition for a binary tree node.# class TreeNode(object):# d原创 2016-06-19 01:18:58 · 1310 阅读 · 0 评论 -
【leetCode】Binary Tree Level Order Traversal python实现
Binary Tree Level Order Traversal原题链接Binary Tree Level Order Traversal实现原理解析 层次遍历即可python代码实现class Solution(object): def __init__(self): self.result = [] def levelOrder(self, root):原创 2016-06-19 01:41:14 · 1067 阅读 · 0 评论 -
【leetCode】House Robber python实现
House Robber原题链接House Robber实现原理解析 动态规划实现python代码实现class Solution(object): def rob(self, nums): """ :type nums: List[int] :rtype: int """ if len(nums) ==原创 2016-06-19 02:20:41 · 947 阅读 · 0 评论 -
Find Minimum in Rotated Sorted Array
Find Minimum in Rotated Sorted Array原创 2014-12-01 21:04:53 · 725 阅读 · 0 评论 -
Python的异常处理
Python中的异常类型分如下几种:1、NameError:尝试访问一个未申明的变量>>> vNameError: name 'v' is not defined2、ZeroDivisionError:除数为0>>> v = 1/0ZeroDivisionError: int division or modulo by zero3、Synt原创 2014-11-29 22:03:13 · 914 阅读 · 0 评论 -
python魔术方法
魔术方法对定制及重载做了下梳理,还没消化完,后续补全基本定制说明C.__init__(self[, arg1, ...]) 构造器(带一些可选的参数)C.__new__(self[, arg1, ...]) 构造器(带一些可选的参数);通常用在设置不变数据类型的子类C.__del__(self) 解构器C.__str__(self) 可打印的字符输出;内建str()及prin转载 2013-11-16 20:54:52 · 656 阅读 · 0 评论 -
python 中is和= = 的比较
Python中的对象包含三要素:id、type、value其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值is判断的是a对象是否就是b对象,是通过id来判断的==判断的是a对象的值是否和b对象的值相等,是通过value来判断的python is主要是判断2个变量是否引用的是同一个对象,如果是的话,则返回true,否则返回false>>> a = '123原创 2013-11-15 21:08:18 · 2207 阅读 · 0 评论 -
python中变量作用域及嵌套作用域
在python中,变量查找遵循LGB原则,即优先在局部作用域(local scope)中对变量进行查找,失败则在全局作用域(global scope)中进行查找,最后尝试再内建作用域(build-in scope)内查找,如果还是未找到的话,则抛出异常。后来由于闭包和嵌套函数的出现,作用域又增加了外部作用域,这样变量的查找作用域优先级变为:局部、外部、全局和内建。 作用域由def、class、la原创 2013-11-15 22:59:21 · 5065 阅读 · 1 评论 -
Python yield 使用浅析
您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一转载 2013-11-19 11:10:02 · 855 阅读 · 0 评论 -
python re模块
正则表达式(可以称为REs,regex,regex pattens)是一个小巧的,高度专业化的编程语言,它内嵌于python开发语言中,可通过re模块使用。正则表达式的 pattern可以被编译成一系列的字节码,然后用C编写的引擎执行。下面简单介绍下正则表达式的语法 正则表达式包含一个元字符(metacharacter)的列表,列表值如下: . ^ $ * + ? {转载 2013-11-19 11:28:55 · 833 阅读 · 0 评论 -
Python使用ReportLab画图
本文主要介绍如何借助ReportLab画图。首先看一下经典的hello word:#!/usr/bin/env pythonfrom reportlab.graphics.shapes import Drawing, Stringfrom reportlab.graphics import renderPDFd = Drawing(100, 100)s = String(50,原创 2013-11-21 20:23:57 · 6153 阅读 · 1 评论 -
Python 元组、列表、字典、文件
python的元组、列表、字典数据类型是很python(there python is a adjective)的数据结构。这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益处。元组 个人认为就像java的数组,python中的元组有以下特性:任意对象的有序集合,这条没啥说的,数组的同性;通过偏移读取;一旦生成,不可改变;固定长度,支持嵌转载 2013-11-15 09:18:29 · 1040 阅读 · 0 评论 -
python快速入门
【简介】 Python是一种动态解释型的编程语言。Python可以在Windows、UNIX、MAC等多种操作系统上使用,也可以在Java、.NET开发平台上使用。 【特点】 1. Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。 2. Python具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、接口等面向对象原创 2014-03-12 17:24:23 · 816 阅读 · 0 评论 -
《大话设计模式》Python版代码实现
上一周把《大话设计模式》看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多、偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼界。《大话设计模式》的代码使用C#写成的,而在本人接触到的面向对象语言中,只对C++和Python还算了解,为了加深对各个模式的理解,我在网上下载了一个C++版的源代码,并根据自己的理解边读这本书边动手实践C++源代码,同时将其改写成了Python代码,算是一箭三转载 2014-04-02 11:30:39 · 789 阅读 · 0 评论 -
Python多线程
首先看一个简单的没有线程支持的情况下的顺序执行:from time import sleep, ctimedef loop0(): print('start loop 0 at:', ctime()) sleep(4) print('loop 0 done at:', ctime())def loop1(): print('start loop 1原创 2014-11-29 21:39:52 · 1193 阅读 · 0 评论 -
Python 列表元素去重的3种方法
以前面试的时候遇到过这个问题,今天闲着整理了以下,大概想到以下三种方法。class delect_duplicate: def method_set(self,mlist): print("method_set is called") print("before process mlist is", mlist) l2 = set原创 2014-11-29 17:07:06 · 2373 阅读 · 1 评论 -
【leetCode】House Robber II python实现
原题链接House Robber II实现原理解析 该题在House Robber的基础上让首位链接形成环,那么即表示第一个和最后一个不能同时被抢,则问题分解为House Robber(nums[0:len(nums)-1])和House Robber(nums[1:len(nums)]),两者中比较大的那个即为结果python代码实现class Solution(object): d原创 2016-06-19 21:25:46 · 1341 阅读 · 0 评论