0

我有一个文本文件,其中包含 4 篇不同的文章,其中包含单词,每篇文章都由文本分隔"<NEW ARTICLE>"

<NEW ARTICLE>
Take a look at 
what I found.
<NEW ARTICLE>
It looks like something
dark and shiny.
<NEW ARTICLE>
But how can something be dark
and shiny at the same time?
<NEW ARTICLE>
I have no idea.

我想要做的是读取这个文件并将其变成字典,然后计算使用了多少次"<NEW ARTICLE>" or "ARTICLE>"。这样,当我搜索"dark and shiny"第二次和第三次"<NEW ARTICLE>"出现的单词时。

要搜索的单词将是用户输入的变量,我想我可以弄清楚如何在文件中搜索它,我只是无法弄清楚如何将文件的内容变成字典然后保留count everytime"<NEW ARTICLE>" or "ARTICLE>"出现,这样当用户在文件中搜索一个词时,它会显示该词存在的文章的编号(可以是多个文章中该词的多个实例)。

输出看起来像这样:

Input - Word(s) to search for: dark and shiny
Output - Word(s) found in articles: 2 3
Input - Read which article?: 2
Output - It looks like something dark and shiny.

使用 Python 3,谢谢。

4

1 回答 1

1

这个问题对我来说听起来像是家庭作业。所以我给你一个算法,让你自己实现:

  1. 创建一个空字典
  2. 维护一个整数(让我们称之为articleNum)。从 0 开始。
  3. 遍历输入文件(首先打开它进行阅读,最好使用with
  4. 如果您看到的行包含<NEW ARTICLE>,则递增articleNum
  5. 否则,遍历行中的单词(使用line.split()
  6. 对于行中的每个单词,检查该单词是否是字典中的键
  7. 如果它还不是字典中的键,则将其作为键添加到字典中并使其值成为一个列表,其中包含articleNum
  8. 如果它已经是字典中的键,则追加articleNum到该键的值
  9. 读完文件后,作为用户进行输入。
  10. 从字典中获取用户输入的值(如果输入已经是字典中的键);这应该是一个整数列表
  11. 将这个整数列表打印给用户,作为输出

希望这可以帮助

于 2012-10-29T02:45:07.243 回答