2017-01-16 9 views
0

私が取り組んでいるpython辞書メーカーがあります。私はそれを一緒につなぎましたが、私は助けが必要です。私はそれをテキストファイルまたは出力に提出すると、新しいものの前に重複する単語があります。私が取得いけないものを助けるために、出力をcPythonの出力で重複を取り除く方法

または( B する必要が B C

:たとえば、これは一回出力することができそれは)別の出力例を示します。

ときにそれが必要BCA ABC CBA ABC CBA :等々 AAA AAB AAC ABA ABB、ABC ACA ACB ACC BAA

と。

誰でも手伝ってもらえますか?これは

import string, random 

minimum=input('Please enter the minimum length of any give word to be generated: ') 
maximum=input('Please enter the maximum length of any give word to be generated: ') 
wmaximum=input('Please enter the max number of words to be generate in the dictionary: ') 

alphabet =raw_input("What characters should we use to generate the random words?: ") 
string='' 
FILE = open("wordlist.txt","w") 
for count in xrange(0,wmaximum): 
    for x in random.sample(alphabet,random.randint(minimum,maximum)): 
     string+=x 
    FILE.write(string+'\n') 
    string='' 
print'' 
FILE.close() 
print 'DONE!' 
end=raw_input("Press Enter to exit") 
+0

あなたの質問は不明です。サンプル入力とサンプル出力を含めます。 – MYGz

+0

['itertools.product'](https://docs.python.org/2/library/itertools.html#itertools.product)を参考にしてください。 –

答えて

2

あなただけのファイルに独自の単語をカウントするようにしようとしています(それがwordlist.txtという名前の.txtファイルに保存されます)、これまで私が持っているコードですか?なぜ:

with open("wordlist.txt","r") as wf: 
    content = wf.read() 
    words = [w.strip() for w in content.split(" ")] # or however you want to do this 
    # sets do not allow duplicates 
    # constructor will automatically strip duplicates from input 
    unique_words = set(words) 

print unique_words 
+0

これを行う際にエラーが発生します。 "wf.read"は読書のために開かれていません.... –

+0

あなたはもう少し具体的にする必要があります。エラーは何ですか?実行しているスクリプトは何ですか?そして、テストするのに十分な数行のファイルを与えることができますか? – lollercoaster

+0

あなたは__write__アクセスでファイルを開きます! – volcano

0

あなたが問題に

あなたは

for x in random.sample(new_alpha,random.randint(minimum,maximum)): 
を渡す必要がnew_alpha下の行にアルファベット

new_alpha=''.join(set(alphabet)) 

を取得した後に追加することができます行の下

を解決するためのpythonセットコレクションを使用することができます

以下はコード全体です。 -

import string, random 

minimum=input('Please enter the minimum length of any give word to be generated: ') 
maximum=input('Please enter the maximum length of any give word to be generated: ') 
wmaximum=input('Please enter the max number of words to be generate in the dictionary: ') 

alphabet =raw_input("What characters should we use to generate the random words?: ") 
new_alpha=''.join(set(alphabet)) 
string='' 
FILE = open("wordlist.txt","w") 
for count in xrange(0,wmaximum): 
    for x in random.sample(new_alpha,random.randint(minimum,maximum)): 
     string+=x 
    FILE.write(string+'\n') 
    string='' 
print'' 
FILE.close() 
print 'DONE!' 
end=raw_input("Press Enter to exit") 
+0

最終的なコードは何でしょうか?私はPythonでうまくいきません...私はこれを試してみるとエラーが続きます。 –

+0

上記のコード全体が更新されました – PythonUser

関連する問題