Я пишу игру, где есть две проигрышные условия:Python Логика Справка:
- формовочные слово длиннее, чем 3-х букв. Пчела в порядке, Пиво нет.
- Формирование слова, которое невозможно превратить в более длинное слово. Зебра в порядке, Зебры нет.
Wordlist - это список слов, фрагмент - это предыдущий фрагмент, и это новая буква, в которую входит игрок. поэтому фрагмент может выглядеть как «приложение» и, возможно, «l» с идеей создания слова яблоко.
def getLoser(frag, a, wordlist):
word = frag + a
if len(word) > 3:
if word in wordlist:
print 'word in wordlist'
return True
else:
for words in wordlist:
if words[:len(word)] == word:
print words,':', word
print 'valid word left'
return False
else:
print words[:len(word)]
print words,':', word
print 'false found'
return True
else:
return False
По какой-то причине, когда я вхожу свою 4-ю букву, он автоматически переходит в другой в течение цикла, даже если если заявление функция для цикла работает правильно, когда я проверить его один на фиктивных данных в интерактивная тропа.
Здесь вывод для фрагмента alg и буквы e с помощью алгебры слов в списке слов.
е
аа
аа: ALGE
ложно найдено
Правда
Любые идеи?
По какой логике это 'Beer' не в порядке, и' Zebra' OK? Правило 1 говорит, что они оба не ОК, правило 2 говорит, что они оба в порядке, а ваши утверждения/примеры говорят о них по-разному. Похоже на меня противоречие. –
@Alex: «Зебра» плохо в соответствии со вторым условием, но не первым. * Mutatis mutandis * для 'Beer'. Любое условие подразумевает потерю. – katrielalex