前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python闯关游戏网站—python challenge

python闯关游戏网站—python challenge

作者头像
生信编程日常
发布2020-04-01 16:13:14
1.2K0
发布2020-04-01 16:13:14
举报

应该有不少人都知道这个非常有意思的python网站,推荐给不知道的朋友们: http://www.pythonchallenge.com/

python challenge

点击开始挑战后,就进入到热身题:

warm up

看到提示是修改url,也就是根据图片内容得到答案修改url的地址即可进入到下一题。python可迅速计算出答案是274877906944, 将网址中的0修改为这个数,进入到第一关。

1.

根据提示可以得到K应该转化为M等等,字母后移了两个,那么破解下边的一段话就是:

代码语言:javascript
复制
chr_list = [chr(i) for i in range(97, 123)] # 得到26个字母
s = "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."

answer = ""
for i in s:
    if i in chr_list:
        index_i = chr_list.index(i)
        if index_i <= 23:
            answer += chr_list[index_i + 2]
        elif index_i == 24:
            answer += "a"
        else:
            answer += "b"
    else:
        answer += i
print(answer)

翻译过来这句话就是: "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."

这里作者建议用string.maketrans()去实现。注意python3中string.maketrans()会报错,应该str.maketrans()。

此时的网址是http://www.pythonchallenge.com/pc/def/map.html ,将map按照规则改成ocr,即可进入下一关。

ocr

根据提示,是要得到书中的字母,可能是在源代码中。查看源代码可以发现:

characters

最上面的话提示找到最稀有的字符。主要考正则匹配。

代码语言:javascript
复制
import requests, re
from collections import Counter

url = 'http://www.pythonchallenge.com/pc/def/ocr.html'
r = requests.get(url, timeout=30)
html = r.text
text = re.findall(r'<!--.*-->.*<!--(.*)-->', html, re.S)

chr_list = []
for i in text[0]:
     chr_list.append(i)
cal_chr = Counter(chr_list)
print(cal_chr)

最终可输出:

cal_chr

可见最少的就是equality了。将网址换掉,可以进入到下一关。

后面的关卡还会考验对网页、对图片或者对压缩文件等的操作,非常全面。感兴趣的可以去体验一下~

欢迎关注公众号~

生信编程日常

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
AI 应用产品
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档