Python频繁元素统计
关卡地址:http://www.pythonchallenge.com/pc/def/ocr.html
这一关实际上非常简单,在屏幕提示的“recognize the characters. maybe they are in the book, but MAYBE they are in the page source.”这一句话稍微一琢磨就可以知道,此处的source指的是源代码。那么直接查看网页源码,果不其然有一大段注释,是由各种符号组成的,有一句提示是find rare characters in the mess below。就是说在里面找出出现频率低于平均值的字符。放眼望去一片标点符号。那么最简单的办法就是直接筛出来英文字母了。把文段内容全部拷贝到一个“in.data”的文件中,然后执行下面的代码就可以轻松的得到最后的答案了。
1 | outstring = '' |
如果需要更简单的解法,那么可以使用filter
函数来实现。
1 | import string |
关于filter函数:
filter(function, sequence)
对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回
但是不得不承认的是,这是一种偷懒的做法,如果真的要去统计具体的字符频率的话可以使用字典的方法。这样可以减少难度。
1 | outstring = '' |
得到下一关的地址:equality