我的 python 程序之一是查找文本文件的句子、单词和字母的数量并将其打印在屏幕上。我对如何执行此操作有点困惑,我对如何获取单词有一些想法,但我不确定如何让程序注意到文本文件中有多少句子和字母。我如何将输出打印到屏幕上,以便我可以查看是否进行了正确的调整。下面是我想用该程序处理的文本文件。
fname = "gettysburg.txt"
num_lines = 0
num_words = 0
num_chars = 0
with open(fname, 'r') as f:
for line in f:
words = line.split()
num_lines += 1
num_words += len(words)
num_chars += len(line)
我已经弄清楚如何将其打印到屏幕上,我现在需要帮助的是如何制作它,以便它可以确定什么是句子以及如何计算它。我还需要弄清楚如何计算字符数,但如果不计算空格,只计算字母。
最佳答案
改用 num_chars += len(line.replace(' ', ''))
,这会删除该行中的所有空格。
对于句子(假设所有句子都以句点结尾且句子中没有省略号),可以使用 count 方法:num_lines += line.count(".")
所以在你的代码中它看起来像:
fname = "gettysburg.txt"
num_lines = 0
num_words = 0
num_chars = 0
with open(fname, 'r') as f:
for line in f:
words = line.split()
num_lines += line.count(".")
num_words += len(words)
num_chars += len(line.replace(' ', ''))
关于python - 确定文本文件中句子、单词和字母的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33881018/