Python词频统计:《哈姆雷特》
要求:在给予文本中搜索“the”的词频并打印count=0
f1=open('hamlet.txt')
for i in f1:
if(i=='t'):
t=1
if(i=='h'):
h=1
if(i=='e'):
e=1
count+=1
t=0
h=0
e=0
else:e=0
else:h=0
else:t=0
print(count)
f1.close
请问这段代码是一开始思路就错了吗? 是的,这段代码的思路是错误的。它尝试在每一行中搜索单个字符来匹配单词"the",这是一个不正确的方法。
正确的方法是通过使用字符串的内置方法来统计单词的出现次数。下面是一个修正后的代码示例:
count = 0
f1 = open('hamlet.txt')
for line in f1:
count += line.count("the")
print(count)
f1.close()
修正后的代码使用了字符串的 count 方法来计算每一行中单词"the"的出现次数,并将其累加到 count 变量中。最后,打印出总的出现次数。
此外,为了确保文件被正确关闭,我们应该使用 with 语句来打开文件。修正后的代码如下:
count = 0
with open('hamlet.txt') as f1:
for line in f1:
count += line.count("the")
print(count)
这样,无论代码是否发生异常,文件都会在使用后正确关闭。 isdkz 发表于 2023-9-25 20:40
是的,这段代码的思路是错误的。它尝试在每一行中搜索单个字符来匹配单词"the",这是一个不正确的方法。
...
感谢!!!!!
页:
[1]