打开http://www.pythonchallenge.com/pc/def/equality.html,发现就一句话是有用信息
One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.
,因此进入源代码看看:
还是乱七八糟的注释:直接把注释存成文件,
with open("python_equality.txt", encoding='UTF-8') as f0:
f0 = f0.read()
for i in range(2, len(f0) - 3):
if 'a' <= f0[i] <= 'z':
if 'A' <= f0[i - 1] <= 'Z' and 'A' <= f0[i - 2] <= 'Z' and 'A' <= f0[i - 3] <= 'Z':
if 'A' <= f0[i +1] <= 'Z' and 'A' <= f0[i + 2] <= 'Z' and 'A' <= f0[i + 3] <= 'Z':
print(f0[i], end="")
运行结果有点懵逼:
jfeiauzroivgzbmpszazlutnwsdofbiwqidjbzshfrblqgsbydajygcbjcwggtdmfjeobhcmdlzxajvitekcgpkcfwqbvkoixetpiiljanvqjjgtcpadjkgcbluaidgumcdskunujfcjhfmbzpkzsasdxsqqdqlaeisjezfjfdaoljapywxjthqjknnednxnsahxqedoeqsdcmltcsnwakjxdtytfaalhlgabekfmyimwrkffydghiunlriwgkuzqljjbsxguytfsatejmdwkbfbzifdknpcqimvehxujkszbuyutmsompijjojspbwlroefiwmqrsjstdjhfwxhcnthsoosmjoqtufoxvpvpjkgiaqgofrhyufxxdnjiwtfqusbkdeakunjgkfnpibuklgjougnivhgixsnekxgrirbsllpuaouvhzbilbjirmqqxtktgcnkdljoasnexwtgvwjegurngksokjtroovpcmykzgeolwynsyfideomflmkwmj
仔细看看原来页面,发现问题在与exactly:于是再改:
with open("python_equality.txt", encoding='UTF-8') as f0:
f0 = f0.read()
for i in range(2, len(f0) - 3):
if 'a' <= f0[i] <= 'z':
if 'A' <= f0[i - 1] <= 'Z' and 'A' <= f0[i - 2] <= 'Z' and 'A' <= f0[i - 3] <= 'Z':
if 'A' <= f0[i +1] <= 'Z' and 'A' <= f0[i + 2] <= 'Z' and 'A' <= f0[i + 3] <= 'Z':
if 'a' <= f0[i + 4] <= 'z' and 'a' <= f0[i -4] <= 'z':
print(f0[i], end="")
解法好糙, 先不管了,据说可以正则表达式来跑,但是。。。不会。。。。以后会了再回来改吧。。。。
跑出来 linkedlist,应该是最终结果了,试试。
http://www.pythonchallenge.com/pc/def/linkedlist.html
我去,就给出给linkedlist.php,又跑错了??
今天先到这里吧,还得干正事去呢。。。
-----------------------------------------------------------------------------------------------
原来就是:http://www.pythonchallenge.com/pc/def/linkedlist.php
懵逼中进入下一关
========初学了正则表达式,回来看看================
import re
with open("python_equality.txt", encoding='UTF-8') as f0:
f0 = f0.read()
q = r'[a-z][A-Z]{3}[a-z][A-Z]{3}[a-z]'
q1 = re.findall(q, f0)
for i in q1:
print(i[4], end = '')
输出: linkedlist,收官