这一题没有显示提示语,仅仅有一幅图片,图片也看不出什么名堂,于是直接查看源代码,源代码例如以下:

<html>
<head>
<title>follow the chain</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
<!-- urllib may help. DON'T TRY ALL NOTHINGS, since it will never
end. 400 times is more than enough. -->
<center>
<a href="linkedlist.php?nothing=12345"><img src="chainsaw.jpg" border="0"/></a>
<br><br><font color="gold"></center>
Solutions to previous levels: <a href="http://wiki.pythonchallenge.com/"/>Python Challenge wiki</a>.
<br><br>
IRC: irc.freenode.net #pythonchallenge
</body>
</html>

能够看到,解题须要用到urllib,提示我们不要去一个一个地尝试noting,由于这数量特别多,远远不止四百次(终于证明事实上不须要四百次,一百二十多次即可了),既然这么多,那肯定不能手动去试了,可是能够让计算机自己主动去訪问提取nothing值。点击图片,我们便获得了第一个nothing值44827,再改动URL,获得下一个nothing值,发现没个nothing页面最后都会有这句话“and the next nothing is ”后面接着一个数字(当然,由于URL的须要,我们把它理解为一个字符串,刚開始投机取巧觉得这数字是五位的,后来出现四位的,又觉得是四位或五位的,再后来有三位的。。。于是还是老老实实写关于提取最后不限位数数字字符的代码),从而猜想,那个能够获得答案相关信息的页面内容会与这些均不同,能够通过内容最后是否是数字字符来推断,最后代码例如以下:

import urllib.request
name='http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing='
finalNum='44827'#nothing's number string
while 1:
f=urllib.request.urlopen(name+x)
content=f.read().decode('utf-8')
print(content) #输出页面内容,方便查看到最后的解题信息
finalNum=[]
content=list(content)
content.reverse()
for i in content: #提出页面内容最后的数字字符
if i.isdigit():
finalNum.append(i)
else:
break
finalNum.reverse()
finalNum=''.join(finalNum)
if not finalNum: #推断页面最后内容是不是数字字符,假设不是,则跳出循环
break

当循环结束时候的那个页面信息是“Yes. Divide by two and keep going”,上一个页面为“and the next nothing is 16044”,于是改动finalNum的值为‘8022’,又一次启动程序,最后获得答案

Python Challenge 第四题的更多相关文章

  1. Python Challenge 第四关

    进入了第四关.只有一张图,我还是像往常一样查看源代码.果然,发现了一行注释:urllib may help. DON'T TRY ALL NOTHINGS, since it will never e ...

  2. The Python Challenge 闯关笔记

    The Python Challenge : http://www.pythonchallenge.com/ Level 0: 看提示图片中为2**38,计算值为274877906944. Hint: ...

  3. 面试题之第一部分(Python基础篇) 80题

    第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...

  4. Java-集合(没做出来)第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列。 例如: List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(“Learn”); //此时list 为Hello World Learn reverseL

    没做出来 第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列. 例如: List list = new ArrayList(); list.a ...

  5. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  6. python challenge第1关--NoteBook上的“乱码”

    在 python challenge第0关中已经得到第1关的地址了: http://www.pythonchallenge.com/pc/def/map.html 一.观察地址栏和标签: What a ...

  7. python challenge 待续中

    网址:http://www.pythonchallenge.com/解答好文:http://story.iteye.com/blog/730466 0:2^38 reduce(lambda x,y:x ...

  8. Python Challenge 过关心得(0)

    最近开始用Openerp进行开发,在python语言本身上并没有什么太大的进展,于是决定利用空闲时间做一点python练习. 最终找到了这款叫做Python Challenge(http://www. ...

  9. 经典算法题每日演练——第十四题 Prim算法

    原文:经典算法题每日演练--第十四题 Prim算法 图论在数据结构中是非常有趣而复杂的,作为web码农的我,在实际开发中一直没有找到它的使用场景,不像树那样的频繁使用,不过还是准备 仔细的把图论全部过 ...

随机推荐

  1. 利用Adapter对象将数据填充到DataTable(或DataSet)的例子

    前: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataAdapter ...

  2. 结构体struct和联合体union以及enum枚举体5的区别

    下面来自wikipedia: In computer science, a union is a value that may have any of several representations ...

  3. (step6.3.5)hdu 1281(棋盘游戏——二分图的完美匹配)

    题目大意:本体是中文题.读者可以直接在OJ上看 解题思路: 1)完美匹配:所有的端点都是匹配点 2)对于二分图的完美匹配,我们需要用一个数组来存储匹配点.(而二分图的其他问题(我们则可以直接使用变量来 ...

  4. exp-00091 oracle错误的解决办法

    在进行数据库导入导出使用命令exp.imp经常出现exp-00091 这样的错误的时候,我们需要做的是对于环境变量NLS_LANG设置正确 首先,我们先查看需要导出的数据库的字符编码    selec ...

  5. AFNetworking3.0的基本使用方法

    前一段时间在做项目的时候发现AFNetworking3.0已经被大众所接受,所以以后肯定会有很多程序猿朋友必须了解和转移至3.0了,这是我这段时间使用和学习总结出来的一些常用的知识点,希望对大家有用. ...

  6. 计算闰年_winform

    新建窗体应用程序(如下),新建控件label1,label2,label3,textBOX1,button1,button2 label1的Text属性改为“计算闰年演示” label2的Text属性 ...

  7. 如何抓取Thread Dump小结(转)

    当系统性能出现问题时,需要从各个方面来查看网络环境.主机资源.查看最经变更的代码等.如果是想从代码层面解决问题,那么最有效的方法就是查看相关dump文件.如果是使用IBM JDK(我默认你是在aix环 ...

  8. methanol 模块化的可定制的网页爬虫软件,主要的优点是速度快。

    methanol模块化的可定制的网页爬虫软件,主要的优点是速度快. 下载:http://sourceforge.net/projects/methabot/?source=typ_redirect R ...

  9. 基于visual Studio2013解决算法导论之026二叉树

     题目 二叉树实现 解决代码及点评 #include<stdio.h> #include <malloc.h> #include <stdlib.h> typ ...

  10. 基于visual Studio2013解决C语言竞赛题之0415特殊对数

       题目 解决代码及点评 这道题也是锻炼for循环,在for循环中遍历所有可能的数,然后再判断该数是不是有这样的性质 /********************************* ...