PythonChallenge。在

时间:2018-01-23 10:49:21

标签: python

我正在尝试通过PythonChallenge学习编程(我根本没有编程背景)现在我被困在challenge上,这需要我在混乱中找到稀有字符。这个混乱是在那个页面的源代码中,我把它放在'py.txt'文件中。

我在下面尝试过这段代码并打印出这样的代码:[('t', 2), ('e', 1), ('x', 1)],但最有趣的部分是我觉得这不是正确的答案。

from collections import Counter

with open('C:/py.txt', 'r') as f:
    text = f.read()

c = Counter("text")
print(c.most_common())

当您查看页面上的源代码并搜索某些字符时(假设为'a')image here,它会向您显示列表中的'a',但它不会出现在代码中输出

请帮助,我需要找到所有这些'罕见'字符。谢谢!

哦,而且,我想问你如何从头开始学习Python。也许你有一些推荐的好书或一些在线资源(如果它有一些实用的家庭作业,比如做一些不需要太多数学的小项目,会更好)。非常感谢。

2 个答案:

答案 0 :(得分:1)

我认为您要寻找的代码是:

from collections import Counter

with open('C:/py.txt', 'r') as f:
    text = f.read()

c = Counter(text)
print(c.most_common())

“text”一词周围没有引号。

这是因为你不是分析包含你想要分析的信息的变量'text',而是分析字符串''text'',它有两个'e'和一个'x'。

在回答你问题的另一部分时,认为学习python的一个很好的资源是the google python class

答案 1 :(得分:0)

为了帮助您入门:

>>> with open("mess.txt") as f:
...     counts = {}
...     for line in f:
...         for c in line.strip():
...             counts[c] = counts.get(c, 0) + 1
...     print(counts)
... 
{'+': 6038, 't': 1, '$': 6008, '!': 6057, 'u': 1, 'y': 1, '^': 6004, '%': 6072, 'e': 1, 'l': 1, 'q': 1, '(': 6124, '*': 6011, 'i': 1, ')': 6154, '#': 6081, ']': 6127, '&': 6029, '_': 6083, 'a': 1, '}': 6081, '{': 6028, '[': 6080, '@': 6114}

如何将罕见的角色留给读者练习。