Я пишу слова unjumble program. Вот мой код:Распечатайте различные результаты в Python a dictionary
sortedWords = {}
with open("/Users/xxxx/Desktop/words.txt", "r") as f:
for word in f:
word = word.strip()
sortFword = ''.join(sorted(word))
sortedWords.setdefault(sortFword,[]).append(word)
while True:
jumble = input("Enter your jumbled word: ").lower()
sortedJumble = ''.join(sorted(jumble))
if sortedJumble in sortedWords:
print ("Your words are:")
print ("\n".join(sortedWords[sortedJumble]))
break
else:
print ("Oops, it can not be unjumbled.")
break
Код работает. Тем не менее, я хочу, чтобы моя программа была в состоянии узнать, есть ли только одно несвязанное слово или есть несколько несмешанных слов. Вот выходы, которые я хочу:
Введите ваше перемешано слово: gfoirevssne
слова Твоего прощения.
или
Введите ваше перемешаны слово: Caid
Ваши слова:
кислота
кади
CAID
Как достичь этого?
Спасибо !!! lol – Turf
@Turf, всегда HTH, но почему бы не поблагодарить, не повышая (нажав на треугольник вверх в верхнем левом углу ответа) и, в конце концов, принимая (нажав на контрольную галочку), когда прошло достаточно времени, что stackoverflow позволяет вы...? –
Hi, @Alex. Я нашел еще одну проблему с моей программой. Я заметил, что мои слова. Txt не были изменены на нижний регистр, поэтому я использую слово «word = word.strip(). Lower()» вместо «word = word.strip()», чтобы словарь охватывал все слова из документ. Тем не менее, я обнаружил, что моя программа обычно печатает два одинаковых слова. Например, я набрал «prisng» как беспорядочное слово, затем получил две «весны».Это потому, что в документе слова были две «весны»: одна - «весна», а другая - «Весна». Как решить эту проблему? Или есть ли какие-либо алгоритмы, которые я могу использовать, чтобы избежать этой проблемы? – Turf