2016-04-28 13 views
0

先週の宿題プロジェクトです。私は問題があったので、それを回しませんでした。しかし、私は戻って、私はそれらを働かせることができるかどうかを確認したい。これで、正しい単語をアルファベット順に印刷しました。私は、3つの別個のリストを、リスト中の単語の数が異なるすべてのものを印刷しているという問題があります。これをどうすれば解決できますか?以下は多くのユニークな単語リストへ

import string 
def process_line(line_str,word_set): 
    line_str=line_str.strip() 
    list_of_words=line_str.split() 
for word in list_of_words: 
    if word!="--": 
     word=word.strip() 
     word=word.strip(string.punctuation) 
     word=word.lower() 
     word_set.add(word) 
def pretty_print(word_set): 
    list_of_words=[] 
    for w in word_set: 
     list_of_words.append(w) 
     list_of_words.sort() 
    for w in list_of_words: 
     print(w,end=" ") 
word_set=set([]) 
fObject=open("gettysburg.txt") 
for line_str in fObject: 
    process_line(line_str,word_set) 
    print("\nlength of the word set: ",len(word_set)) 
    print("\nUnique words in set: ") 
    pretty_print(word_set) 

私が得る出力され、私はそれは私に138個の単語との最後の1を与えたいです。助けをお待ちしています。

length of the word set: 29 

Unique words in set: 

a ago all and are brought conceived continent created dedicated equal fathers forth four in liberty men nation new on our proposition score seven that the this to years 

length of the word set: 71 

Unique words in set: 

a ago all altogether and any are as battlefield brought can civil come conceived continent created dedicate dedicated do endure engaged equal fathers field final fitting for forth four gave great have here in is it liberty live lives long men met might nation new now of on or our place portion proper proposition resting score seven should so testing that the their this those to war we whether who years 

length of the word set: 138 

Unique words in set: 

a above add advanced ago all altogether and any are as battlefield be before birth brave brought but by can cause civil come conceived consecrate consecrated continent created dead dedicate dedicated detract devotion did died do earth endure engaged equal far fathers field final fitting for forget forth fought four freedom from full gave god government great ground hallow have here highly honored in increased is it larger last liberty little live lives living long measure men met might nation never new nobly nor not note now of on or our people perish place poor portion power proper proposition rather remaining remember resolve resting say score sense seven shall should so struggled take task testing that the their these they this those thus to under unfinished us vain war we what whether which who will work world years 

答えて

1

はのためのうち最後の3行取り:

.... 
for line_str in fObject: 
    process_line(line_str,word_set) 

print("\nlength of the word set: ",len(word_set)) 
print("\nUnique words in set: ") 
pretty_print(word_set) 
+0

をそれは常に最も簡単なもので、ありがとうございます。私はそれを試したことを誓ってもいいかもしれないが、それほど長い間働いた後、おそらく私は思った。 – Randy

+0

時々起こる:) – alpert

関連する問題