2012-10-29 42 views
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>"

要搜索的词将是一个用户输入的变量,我想我可以找出如何在文件中搜索它,我只是无法弄清楚如何将文件的内容变成词典,然后每次保持计数"<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,谢谢。

+0

气味像功课......是什么呢? – inspectorG4dget

+0

这是,但我不需要有人为我做,只是朝着正确的方向迈出的一步。我想我可以弄清楚它的大部分内容,只需从格式化为字典开始。 – Goose

回答

1

这个问题听起来像是对我的功课。所以,我会给你一个算法,让你实现它自己:

  1. 创建一个空的字典
  2. 保持一个整数(可以称之为articleNum)。在通过输入文件0
  3. 迭代启动(打开阅读第一,最好使用with
  4. 如果看到行包含<NEW ARTICLE>,然后增加articleNum
  5. 否则,通过在该行的话迭代(使用line.split()
  6. 对于该行的每个字,检查是否这个词在字典中
  7. 的关键。如果它是不是已经在字典中的关键,其添加为关键字典,使它的价值列表,包含的articleNum
  8. 的值,如果它已经在字典中的键,然后追加articleNum到这一关键
  9. 值一旦你完成读取文件,作为用户输入。
  10. 从字典中获取用户输入的值(如果输入已经是字典中的键);这应该是一个整数列表
  11. 打印出整数用户的这份名单中,作为输出

希望这有助于

+0

但是,感谢我仍然试图找出将文件中的文本转换为带有键和值的字典,我试过了:http://pastebin.com/kfrk3t7R,当我运行它时,它给了我一个错误无效的文​​字为int()与基10:' Goose

+0

@Goose:你错过了我的算法的第4步,此外,将原始帖子中的代码作为编辑发布是个好主意 – inspectorG4dget