• 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
  • 相关阅读:
    Elasticsearch 配置优化
    一个Elasticsearch嵌套nested查询的实例
    apache kafka配置中request.required.acks含义
    filebeat配置介绍
    Linux nohup命令详解
    elasticsearch中如何手动控制全文检索结果的精准度
    elasticsearch中filter执行原理深度剖析(bitset机制与caching机制)
    logback与log4j比较
    Markdown常用语法
    Asp.NetCore3.1中JWT认证入门使用(一)
  • 原文地址:https://www.cnblogs.com/seasen/p/10975773.html
Copyright © 2020-2023  润新知