Моей цель:Проверьте, совпадают ли два элемента в списке?
В игре Lingo, есть скрытое слово длиной пяти символов. Объект игры состоит в том, чтобы найти это слово, угадывая, и в ответ получают два вида подсказок: 1) персонажи, которые являются полностью правильными, относительно личности, а также позиции, и 2) символы которые действительно присутствуют в слове, но которые помещены в неправильное положение . Напишите программу, с помощью которой можно играть в Lingo. Используйте квадратные скобки для обозначения символов правильно в том смысле, 1), и обычные скобки для обозначения символов правильно в смысле 2)
Текущий код:
def lingo():
import random
words = ['pizza', 'motor', 'scary', 'motel', 'grill', 'steak', 'japan', 'prism', 'table']
word = random.choice(words)
print word
while True:
guess = raw_input("> ")
guess = list(guess.lower())
word = list(word)
for x in guess:
if x in word:
if x == word[word.index(x)]:
guess[guess.index(x)] = "[" + x + "]"
else:
guess[guess.index(x)] = "(" + x + ")"
print guess
lingo()
В настоящее время, если слова имеют общую букву, она помещает букву в квадратные скобки, независимо от того, имеет ли она одну и ту же позицию или нет.
Примеры:
ПРАВИЛЬНО: - Слово: Table
- Моя догадка: Cater
- ВЫВОД: C[a](t)(e)r
НЕПРАВИЛЬНО: - Слово: Japan
- Мой Guess: Ajpan
(Обратите внимание на переключение между a и j, я сделал это нарочно). - ВЫВОД: [A][j][p][a][n]
(должно быть (a)(j)[p][a][n]
)
Так что вы можете дать нам несколько входов образцов, выходы, которые вы ожидаете, и выходы вы получаете? Это помогает узнать, что не так, и как, с примерами. – ShadowRanger
@ShadowRanger Done –