基本上我有一個Python腳本,它需要幾個字母,獲取它們的每個組合,然後檢查它是否是一個實際的單詞(以某種方式思考拼字遊戲),但由於某種原因它返回同樣的話多次,我不希望它做的,劇本是這樣的:腳本多次返回相同的值
with open("dictionary.txt") as word_file:
english_words = set(word.strip().lower() for word in word_file)
def is_english_word(word):
return word.lower() in english_words
print is_english_word("ham")
print is_english_word("zz")
a = raw_input("Please enter first letter: ")
b = raw_input("Please enter second letter: ")
c = raw_input("Please enter third letter: ")
d = raw_input("Please enter fourth letter: ")
e = raw_input("Please enter fifth letter: ")
check =[a,b,c,d,e]
def get_combos(list):
import itertools
count = len(list)
got = []
combos =[]
while count > 0:
for a in itertools.permutations(list,count):
if a in got:
got.append(a)
else:
got.append(a)
combos.append(a)
count = count - 1
for a in combos:
strip_combos(a)
def strip_combos(list):
count = ''
words = []
for entry in list:
count = count + entry
words.append(count)
check_combo(words)
def check_combo(list):
words = []
got = []
for entry in list:
if is_english_word(entry):
if entry not in words:
print entry
words.append(entry)
get_combos(check)
現在它作爲我的意思是它也只打印已在字典中的字,但它會打印相同的字例如,如果字母是多次:
a,c,e,s
它會回來,因爲它在列表中顯示的每一次,但據我可以告訴我在check_combo過程中多次出現同樣的結果,通過獲得和單詞列表
我有一個感覺這個問題可能源於while循環中的get_combos過程,雖然我嘗試過修改幾乎所有的東西都無濟於事,所以我轉向那些比我自己更有見識的人尋求幫助。
一些文檔字符串/評論可能的幫助。例如,根本不清楚strip_combos應該做什麼。 – weronika 2012-04-10 01:17:59
字符串已經可迭代。無需將其轉換爲列表。而不是單獨詢問每封信,請執行:'check = raw_input(「請輸入5個字母的單詞:」)' – 2012-04-10 01:59:45