python challenge 学习

一直在自学python,但总是不知道如何更快的进步,直到偶然听说“python challenge”这个项目。

发现它不仅能锻炼自己的编程能力,更能使自己沉浸在解迷的快乐中。

凭借这些题目,能使自己保持良好的学习动力。


python challenge 第三题,利用正则找出特定格式的字符串,其中的小写字母就是下一题的线索:

import re
regx = "[a-z]+[A-Z]{3}[a-z][A-Z]{3}[a-z]+"
regx1 = "[A-Z]{3}[a-z][A-Z]{3}"
s1 = ""
cnt = 0
with open("pythonChallengeText4.txt") as fp:
	for eachline in fp.readlines():
        	temp = re.findall(regx,eachline)
	        cnt += 1
	        if temp:
		        	print "[%d] %s"%(cnt,temp)
		        	for val in temp:
		        			for x in re.findall(regx1,val):
		        				s1 += x[3]		           
print s1

python challenge 第四题,利用递归找出第五题的线索

# -*- coding:utf-8 -*-
import urllib2,re,sys

def getTheEnd(nums):
	site = "http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing="+nums
	page = urllib2.urlopen(site).read()
	if not re.search("\d+$",page):
		print "Done...%s"%site
		sys.exit(0)
	else:
		print "[%s] [%s] \n   %s"%(nums,page,site)
		getTheEnd(page.split(' ')[-1])

if __name__ == '__main__':
	getTheEnd('83287')

python challenge 第五题,利用pickle还原对象得到下一题的线索

import pickle,urllib

urllib.urlretrieve("http://www.pythonchallenge.com/pc/def/banner.p","banner.p")
pickle.load(open("banner.p"))
object = pickle.load(open("banner.p"))
for item in object:  
    print "".join(map(lambda p: p[0]*p[1], item))

继续努力!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值