python challenge

3.re

按照文字和图片提示,那么我们需要找的字符串是一种AAAaa..AAA格式的,中间全小写两边各有三个大写字母

后来再审题,发现是one little,所以中间只去一个小写字母的,在这浪费好多时间,那么这就简单了,利用正则取出AAAaAAA形式的所有项

re.findall(r'[a-z][A-Z]{3}[a-z]{1}[A-Z]{3}[a-z]', str, re.S)

然后匹配出之后,会有好几个,只输入第一个会发现作者有提示需要更多的,也就是这些匹配到的都需要加上,输入完之后就跳到最终指示页面,解题完毕

4.follow the chain

按照提示,使用urllib方法访问主页之后getheader发现set-cookie里面有提示‘应该追随busynothing’,结合element里面的提示,应该不是直接访问主页,点击图片发现有跳转,之后就会发现其实是一个填nothing的游戏,那么就简单了

当然,依靠手来一次次输入是不靠谱的,肯定要用程序实现,次数应该是400次以上的

    resp = urllib.request.urlopen('http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing={}'.format(str1))
    resp2 = resp.read().decode()
    str1 = re.search(r'and the next nothing is (d+)', resp2).group(1)
    if str1 is None:
        break

中间有作者设置的几个小障碍,这个就不必用程序实现了,有一次除2的,有一次混淆的,最后会出现正确地址,总共几次没有数,好像不到400

5.peak hell

这个题是有点坑的,提示太晦涩了,加上本人英语不好。。结果找提示找了好久,最后面向百度才知道提示是pickle方法。。

知道提示就简单了,pickle.loads()序列化后是一个列表嵌套列表嵌套元组的格式,遍历取出同嵌套的列表打印为一行,最后就会产生一个用#画出的图形字母channel,本题结束

6.now there are pairs

这个放弃了,提示太晦涩了,而且zipfile方法没有用过,直接请教度娘了,本来一直想的是zip方法然后弄的图片,,打印出来还有一些信息。。结果思路完全错了,看别的大神解题思路这题的难度还是挺高的对我来说

7.放弃,解析图片的方法。

8.working hard

这一关还好,提示中un和pwd都给了的,只不过需要转化而已,使用的是bz2方法解析的,最后得出用户名密码输入即可

9.connect the dots

这关提示也比较多,给了first和second两组数据,用的是第七关相似的方法,不过是画图方法,画出来是个牛,如果输入cow他会提示你是这个牛是公的- -。

10.what are you looking at?

这关提示显而易见,给了一个a列表,让你推导第31个元素的长度,就是写逻辑有点麻烦,用了个递归,其他的还好,列表的规律是对前一个元素的统计,1是 ‘1个1’,所以第二个是11;之后是 ‘2个1’ ‘1个2 1个1’,把个去掉就是了;看了我半天。。

strnum = '1'
def func(num):
    global strnum
    if num > 0:
        ex_num = ''
        num1 = 1
        tmp_strnum = ''
        for s in strnum:
            if ex_num == '':
                pass
            else:
                if s == ex_num:
                    num1 += 1
                else:
                    tmp_strnum += str(num1) + ex_num
                    num1 = 1
            ex_num = s
        tmp_strnum += str(num1) + ex_num
        strnum = tmp_strnum
        print(len(strnum))
        func(num - 1)
代码估计有点菜,肯定能优化,不过先做出来再说不考虑那么多
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 有任何问题请随时交流~ Email: araise1@163.com
原文地址:https://www.cnblogs.com/seasen/p/10975773.html