Python挑战等级2

时间:2012-04-05 13:23:03

标签: python

我正在尝试解决pythonchallenge.com中的Python挑战。我在第2级。我被要求在网页的源代码中给出的非常大的文本中找到罕见的字符。这里是: http://www.pythonchallenge.com/pc/def/ocr.html

首先,我不想要任何解决方案。我只想自己解决它,但我不是一个高级Python程序员。所以你能告诉我学习什么来解决这个问题吗?我也不知道如何处理文件。在论坛的一些线索中,提到应该使用文件来解决这个问题。所以你能告诉我学习什么吗?

3 个答案:

答案 0 :(得分:2)

首先,将所有字符读入字符串。您可以使用urllib2下载文件open以从本地磁盘读取文件,或对其内容进行硬编码。要在Python程序中包含这样一个长字符串,您可能需要使用triple-quotes字符串,如:

"""
%%$@_$^__#)^)&!_+]!*@&^}@[@%]()%+$&[(_@%+%$*^@$^!+]!&_#)_*}{}}!}_]$[%}@[{_@#_^{*
@##&{#&{&)*%(]{{([*}@[@&]+!!*{)!}{%+{))])[!^})+)$]#{*+^((@^@}$[**$&^{$!@#$%)!@(&
...
"""

要了解每个角色的出现次数,请查看collections.Counter

答案 1 :(得分:2)

使用集合中的Counter 计算每个字符的出现次数,以找到“稀有”字符。

在您查看计数结果后,我会让剩下的让您知道。

答案 2 :(得分:1)

提示1:要打开并阅读文件内容,请使用

with open("filename") as f:
    contents = f.read()

提示2:要计算字符数,一个选项是使用Counter