我正在尝试通过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。也许你有一些推荐的好书或一些在线资源(如果它有一些实用的家庭作业,比如做一些不需要太多数学的小项目,会更好)。非常感谢。
答案 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}
如何将罕见的角色留给读者练习。