- А если пользователь ввел букву, которую уже ранее вводил, что делать при этом?
- А если там несколько одинаковых букв, например в java? У тебя он только одну внесет. И то программа внесла первую 'a', но вывела текст, что нашел следующую, т.е. 4-ую по счету.
Не проще проверять наличие буквы таким способом, что за сложности учудил:
if letter_user in word_secret:
for i in range(len(word_secret)):
if letter_user = word_secret[i]:
letter[i] = letter_user
Итого пока:
from random import randint
words = ["python", "java", "javascript", "rust"] # Список слов
word_secret = words[randint(0, 3)] # Случайное слово
attempts = 5 # Попытки
letters = ["_" for _ in range(len(word_secret))] # зашифрованное слово
# Цикл будет работать пока пользователь не введёт все буквы слова
while "".join(letters) != word_secret:
letter_user = input("\nВведите букву: ")
if letter_user in word_secret: # Есть ли в слове буква пользователя
for i in range(len(word_secret)):
if letter_user == word_secret[i]:
letters[i] = letter_user
else: # Если в слове нет буквы пользователя
attempts -= 1
print(f"\nУ вас осталось {attempts} попыток!")
if attempts == 0: # Проверка на 0 попыток
print("~У вас закончились попытки!~")
print("~Вы проиграли!~")
break
print(f'\nЗагаданное слово было - "{word}"!') # Выводим загаданное слово