摘要: 以抓取网易图片的程序为例说明python的编码问题,主要涉及python中文乱码,unicode和str类型转换,python解释器处理编码方式等问题。 1 #coding:utf-8 2 import sys 3 reload(sys) 4 sys.setdefaultencoding('utf-8') 5 6 import re 7 import requests 8 import os 9 import urllib10 11 def down_pic(url):12 pic_html = requests.get(url)13 if pic_html.statu... 阅读全文
posted @ 2013-08-15 20:21 lkprof 阅读(715) 评论(0) 推荐(0) 编辑
摘要: 一个python抓取程序,用来抓取网易图片新闻中的一系列图片(抓取图片默认为大图)。 首先打开你想要抓取的系列图片的任一一个图片,获取链接。把链接赋值给pic_url,就会在当前目录下生成一个以图片主题命名的文件夹,文件夹下是这个系列的所有图片。 由于Windows下的文件目录路径使用反斜杠“\”来分隔,Python代码里面,反斜杠“\”是转义符,这里有几个处理windows目录的技巧: 1.使用斜杠“/”的路径: “c:/test.txt”… 不用反斜杠就没法产生歧义了 (本程序使用的方法) 2.将反斜杠符号转义: “c:\\test.txt”… 因为反斜杠是转义符,所以”\... 阅读全文
posted @ 2013-08-15 16:51 lkprof 阅读(847) 评论(0) 推荐(0) 编辑
摘要: 问题1:如果日期中有千年以前的情况(没法用格式化函数),如('2010-11-23','1989-3-7','2010-1-5','978-12-1','2010-2-4')参照方法1问题2:如果日期中没有千年以前的情况,做法就很多了。参照方法2和方法3 1 # -*- coding: utf-8 -*- 2 import time 3 from operator import itemgetter 4 arr=('2010-11-23','1989-3-7','2010-1 阅读全文
posted @ 2013-07-09 14:21 lkprof 阅读(6850) 评论(1) 推荐(0) 编辑
摘要: 原文地址:eclipse+Pydev+wxPythonimportwx后出现红叉作者:Jalen使用eclipse+Pydev作为wxpython的开发环境时,经常出现import wx,没有问题,但是使用wx模块里面的内容就会出现各种红叉,但是程序运行没有问题,这种问题肯定是wx路径的问题,在Libraries里面把wx的具体路径再添加上,虽然其父路径已经添加,然后apply一下,这种情况似乎消失,程序运行没有问题,之后再去了刚才的wx的具体路径之前的报错现象也没有了。 阅读全文
posted @ 2013-07-08 10:10 lkprof 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 由于八皇后问题很著名不再详述,直接贴代码: 1 import random 2 3 #判断是否冲突的函数 4 def conflict(state,nextX): 5 nextY=len(state) 6 for i in range(nextY): 7 if abs(state[i]-nextX) in (0,nextY-i): 8 #abs(state[i]-nextX)等于0表示在同一行,abs(state[i]-nextX)等于nextY-i表示在同一列 9 return True10 ret... 阅读全文
posted @ 2013-07-06 20:06 lkprof 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 下表显示了常见的HTTP 1.1状态代码以及它们对应的状态信息和含义。 应当谨慎地使用那些只有HTTP 1.1支持的状态代码,因为许多浏览器还只能够支持HTTP 1.0。如果你使用了HTTP 1.1特有的状态代码,最好能够检查一下请求的HTTP版本号。 状态代码 状态信息 含义 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) 200 OK 一切正常,对GET和POST请求的应答文档跟在后面。 201 Created ... 阅读全文
posted @ 2013-07-03 21:54 lkprof 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 问题1:反转字符串,从头到尾反转整个字符串,就像在镜子中看到的反转。 输入:Hello World 输出:dlroW olleH 这个问题比较简单一些,主要是设置两个指针分别指向头尾,依次交换直到相遇。 1 #include 2 void reverseString(char *p); 3 int main() 4 { 5 char str[]="Hello World"; 6 reverseString(str); 7 printf("%s",str); 8 return 0; 9 }10 void reverseString(char *... 阅读全文
posted @ 2013-06-29 14:15 lkprof 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 问题: 给定一个字符串,找出里面出现次数最多的字符。 python实现1,利用字典: 1 def find_most_char(s): 2 ls=list(s) 3 ls.sort() 4 ls="".join(ls) 5 ls=list(ls) 6 counts={} 7 for c in ls: 8 if c in counts: 9 counts[c]+=110 else:11 counts[c]=112 13 items=counts.it... 阅读全文
posted @ 2013-06-28 17:53 lkprof 阅读(1636) 评论(0) 推荐(0) 编辑
摘要: 问题1:如何不使用中间变量来实现两个整形变量的交换。解决这个问题是思路很多,首先可以用加减法,即1 void swp(int *x,int *y)2 {3 *x=*x+*y;4 *y=*x-*y;5 *x=*x-*y;6 }其实任何满足互逆运算的运算都可以用来实现两个整形变量的交换。异或运算和乘除运算都可以实现两个整形变量的交换。异或运算方法如下:a=a^ b;b=a^ b;a=a^ b;乘除运算方法如下:a=a*b;b=a/b;a=a/b;由于a,b不能为0,所以有一定的适用范围。当然也可以这样:a=(a+b)/2;b=(a-b)/2;a=a-b;b=a+b;不过... 阅读全文
posted @ 2013-06-28 09:40 lkprof 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 上大二的时候,参加学校的在线编程竞赛,刚开始遇到有关动态规划的问题。我看了看几个经典的动态规划问题,仍然不是很理解。请教一位ACM大牛,他说动态规划比起一种解题技术更多的是一种思考方法,需要锻炼才能掌握。过了一段时间,随着自己不断积累解决问题经验,再看动态规划有种豁然开朗的感觉。虽然没有经过正规的ACM锻炼,但也算懂得了一种解决问题的思路。 动态规划解决问题有两个步骤:首先将待求解的问题分解为若干个重叠子问题,然后再合并子问题的解以得出原问题的解。分解的阶段子问题应该是最优子结构,在合并的阶段子问题的最优解逐渐被计算并被保存,因为子问题的重复性就不需要重新解决这些子问题。我觉得理解动态规... 阅读全文
posted @ 2013-06-13 17:46 lkprof 阅读(295) 评论(0) 推荐(0) 编辑