the python challenge

1:   第一題:圖片左左上角爲0 html 地址爲0.html  圖片內容爲 2的38次冪  利用python 2 ** 38 得出 274877906944 替換地址欄中的0得出下一頁地址:http://www.pythonchallenge.com/pc/def/274877906944 .html


2:第二題爲加密解密問題 :

 enc_str = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."

out_str = ""


for letter in enc_str:
    letter_ = ord(letter) + 2
    if ord(letter) >= 97 and ord(letter) <= 122:
        if letter_ >= 122:
            letter_ = letter_ - 26
        print chr(letter_)
        out_str += chr(letter_)
    else:
        out_str += letter


print out_str

爲:i hope you didnt translate it by hand. thats what computers are for. doing it in by hand is inefficient and that's why this text is so long. using string.maketrans() is recommended. now apply on the url.

將地址中map 按照圖片的加密算法 得出下一頁地址:http://www.pythonchallenge.com/pc/def/ocr.html

3,查看頁面源代碼。可以看到一大最的特殊字符。根據提示是找出所有字母中頻率最少的的字母,我用了一個比較笨的辦法,得出equality:



with open("cha3.txt", "r") as f:
    file_content = f.read()


rate_dict = {}


for letter in file_content:
    if letter in rate_dict:
        rate_dict[letter] = rate_dict[letter] +1
    else:
        rate_dict[letter] = 1

4: 第四題是正在表達式問題 ,找出一個小寫字母 並且兩邊各有三個大寫字母, 得出linkedlist。

import re


file_content = ""


with open("cha4.txt", "r") as f:
    file_content = f.read()


test_re = re.compile(r'[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]')


result = test_re.findall(file_content)


if result:
    print "".join(result)


5:



import urllib2




need_devide =True
def get_nothing():
    nothing = 69288
    for x in xrange(400):
        url = "http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=%s" % nothing
        content = urllib2.urlopen(url).read()
        nothing = content.split(" ")[-1]
        print x, nothing, content
        if not nothing.isdigit():
            if need_devide:
                nothing = int(nothing) / 2
                need_devide = False
            else:
                break




if __name__ == "__main__":
    get_nothing()





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章