2012-10-29 44 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