В настоящее время я пишу очень простую игру-палач, чтобы попасть в Python и программировать в целом. Ниже вы можете найти то, что я уже сделал. На этом этапе мой код может выбрать слово из списка с именем «word_pool» в произвольном порядке, затем отобразить его с пробелами вместо букв (например, «котенок» превращается в «_ _ _ _ _») и затем проверить, если предположение пользователя в слове. Это уже отлично работает.
У меня проблемы с заменой пробелов, если предположение верно. Допустим, слово «котенок», и пользователь угадывает «t», я хочу, чтобы слово encoded_word было изменено на «_ _ tt _». Это то, что я пытался сделать с помощью цикла for; Я позволю себе перебирать каждый символ слова и, если он соответствует, заменить его в закодированном слове. Причина в том, что в кодированном слове i * 2-1, заключается в том, что между символами подчеркивания есть пробелы. Затем я пытаюсь напечатать закодированное слово, чтобы увидеть, сработало ли оно, но оно просто печатает подчеркивание с пробелами между ними. Почему ничего не заменено?
import random
word_pool = ["kitty", "dog", "teeth", "sitting"]
print("Guess the word!")
word = word_pool[random.randint(0, len(word_pool)-1)].upper()
print(word)
encoded_word = "_ "*len(word)
print(encoded_word)
guess = input("Which letter do you want to guess? ").upper()
if guess in word:
print(f"Yes, {guess} is correct!")
for i in range(0, len(word)):
if word[i] == guess:
encoded_word.replace(encoded_word[i*2-1], guess, 1)
print(encoded_word)
else:
print(f"No, {guess} isn't correct!")