Python challenge game - Mission3 第三关

在Python Challenge的第三关中,通过分析http://www.pythonchallenge.com/pc/def/equality.html页面源代码,利用'EXACTLY'提示找到解谜关键。经过尝试和学习正则表达式,得到结果'linkedlist',指向http://www.pythonchallenge.com/pc/def/linkedlist.html。但初次尝试未成功,后续学习正则表达式后完成挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开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,收官

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值