0. 2**38

1. 字符串映射

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.
""" def to(c):
return chr((ord(c)-ord('a') + 2) % 26+ord('a')) def tos(s):
ss = ""
for i in s:
if i >= 'a' and i <= 'z':
ss += to(i)
else:
ss += i
return ss print(tos("map"))

2. 字符串去重

s="""......"""
m = {}
for i in s:
if not i in m:
m[i] = 0
m[i] += 1 for i in s:
if m[i] == 1:
print(i,end="")

3. 正则表达式:三个大写字母包围的小写字母

  • 要正好三个
  • 要把满足条件的小写字母连起来
import requests
import re resp = requests.get("http://www.pythonchallenge.com/pc/def/equality.html")
s = resp.text
s = s[s.index("<!--"):]
s = s[4:-4]
x = re.findall("[^A-Z][A-Z]{3}[a-z][A-Z]{3}[^A-Z]", s)
print("".join([i[4] for i in x]))

4. 网络请求+正则表达式,需要向服务器请求大约400次,中间会有一些中断,按照服务器要求来

当中断后,记录下中断前的那个数字,从那个数字接着来

因为这个游戏过于耗时(请求400次大约需要5分钟,并且中间偶尔会请求失败),所以参考别人的(答案为peak.html)

import re

import requests

s = 8022
cnt = 400
while cnt > 0:
cnt -= 1
resp = requests.get("http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing={}".format(s))
ss = resp.text
print(cnt, ss)
s = re.search("[0-9]*$", ss)
if s == None: # 注意如果没有匹配项,返回None
break
s = s.group()
if len(s) == 0: # 因为上面是*,所以一定能够匹配上一个空串,所以这里必须判断len(s)
break
print(s)

5. pickle用于python持久化,然后发现这是一个由空格和井号组成的字符画

import pickle
import requests s = requests.get("http://www.pythonchallenge.com/pc/def/banner.p").text
x = pickle.loads(bytes(s, encoding="utf8"))
print("\n".join(["".join([i[0] * i[1] for i in row]) for row in x]))

6. zipfile包用于压缩解压缩

这个问题太含蓄了,改成y.html,有回复,但没用

title后面有注释zip,于是改为zip.html,有回复

改为channel.zip下载一个zip文件,查看readme,跟前面的网络请求那道题差不多

我在想,这道题怎么考查zipfile呢?原来这道题需要获取文件信息,将文件注释拼接起来才能得到一个字符画,解压之后就无法看见压缩的文件信息了。

import requests
import zipfile
import re resp = requests.get("http://www.pythonchallenge.com/pc/def/channel.zip")
open("haha.zip", "wb").write(resp.content)
f = zipfile.ZipFile("haha.zip")
nothing = 90052
comments = ""
while 1:
filename = str(nothing) + ".txt"
x = f.read(filename)
s = str(x, "utf8")
comments += str(f.getinfo(filename).comment, "utf8")
print(s, comments)
s = re.search("\d*$", s)
if s == None:
break
nothing = s.group()
if len(nothing) == 0:
break
print(nothing)

得到答案hockey(火箭),字符画使用oxygen拼起来的。url实际上就是oxygen

7. 望而却步,毫无意义

www.pythonchanlleges.com的更多相关文章

随机推荐

  1. C语言 strftime 格式化显示日期时间 时间戳

    C/C++程序中需要程序显示当前时间,可以使用标准函数strftime. 函数原型:size_t strftime (char* ptr, size_t maxsize, const char* fo ...

  2. IOS学习笔记02---语言发展概述,计算机语言简介.

    IOS学习笔记02---语言发展概述,计算机语言简介. ------------------------------------------------------------------------ ...

  3. RecyclerView 判断滑到底部 顶部 预加载 更多 分页 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. Android权限管理PermissionsDispatcher2.3.2使用+原生6.0权限使用

    PermissionsDispatcher2.3.2使用 Android6.0权限官网https://developer.android.com/about/versions/marshmallow/ ...

  5. 20个代码生成框架 (.NET JAVA)

    1.1 CodeSmith 一款人气很旺国外的基于模板的dotnet代码生成器 官方网站:http://www.codesmithtools.com 官方论坛:http://forum.codesmi ...

  6. HTML5, CSS3, ES5新的web标准和浏览器支持一览 转

    本文整理了一些最重要(或者说人气比较高罢)的新标准,虽然它们多数还只是w3c的草案,离Recommendation级别还早,却已经成为新一轮浏览器大战中备受追捧的明星,开发者社区里也涌现出大量相关的d ...

  7. 【Storm】学习笔记

    Storm 1 基本概念 1.1 分布式.可扩展.高容错.实时流处理.跨语言 1.2 应用场景 1.2.1 实时分析 1.2.2 在线机器学习 1.2.3 分布式RPC 1.2.4 ETL数据抽取 1 ...

  8. 如何监控执行的SQL语句?

    环境: SQL Server 2012. 打开SQL Server Profiler. 在菜单中选择New Trace, 连接上SQL Server. 在弹出的窗口中选择Event selection ...

  9. [CSS3]Clearfix

    <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="index ...

  10. ORACLE关于锁表查询的部分SQL

    http://www.cnblogs.com/quanweiru/archive/2012/08/28/2660700.html --查询表空间名称和大小 SELECT UPPER (F.TABLES ...