糟糕的程序员。对于课堂作业,我必须从文本文档中提取单词,数数并排序。我在删除标点符号和用小写字母替换大写字母时遇到了困难。任何指导都将不胜感激。在
docwords={}
doc=raw_input("Please enter the name of a text file: ")
docread=open(doc, 'r')
doclist=[]
def main():
for x in docread:
words = x.split()
for word in words:
doclist.append(word)
def wordcount():
main()
for counter in doclist:
docwords[counter] = docwords.get(counter,0) + 1
wordcount()
docread.close()
for p in sorted(docwords):
print p, "-->", docwords[p]
删除标点
一个选项是正则表达式模块的re.sub公司功能。在本例中,我将删除所有非字母数字或空格的字符。在
小写
字符串对象的一个直接向下的函数。在
^{pr2}$所有这些都可以在一行中完成(提示、打开、读取、拆分、剥离和降低列表比较):
然后打印统计信息:
^{pr2}$或者,长(er):
首先,您的}是最后一行中的单词列表。现在,将这些单词放入
main
没有做您想要的。注意for
循环的作用:首先,一次读一行,然后将每行中的单词列表分配给words
。但是您已经一次又一次地重写words
,所以现在{doclist
。首先考虑如何进行循环嵌套并修复此部分:现在,我们可以继续你丢失的部分。Python有很多有用的库。要将字符串小写,请尝试在此处查找:http://docs.python.org/library/stdtypes.html#str.lower。为了消除标点符号,您可能会发现此函数有助于确定字符是否为字母:http://docs.python.org/library/stdtypes.html#str.isalpha。在
既然是作业,我就犹豫要不要把代码泄露出去。否则你就学不到了。如果你再被困住了就说点什么。在
相关问题 更多 >
编程相关推荐