Я новичок в python, и мне трудно понять, что делает переменная перед 'for' в этом операторе возврата.Я получил слегка измененную версию этого кода из этого вопроса
word = "boom"
def find_all(word, guess):
return [i for i, letter in enumerate(word) if letter == guess]
Я понимаю, что функция получает каждый раз угадываемое письмо пользователя в слове "бум",создает «i» для индекса и «букву» для значения, которое собирается передать функция перечисления.Конец состоит в том, что это произойдет, если буква в слове равна предположению в слове.
Что же делает
i for i
?Я ничего не могу найти на нем, и когда я вынимаю это, это нарушает код.Есть ли способ записать это не в ответе?
Мой модифицированный код потом говорит о состояниях
board = "_" * len(word)
listed_board = list(board)
while board != word:
guess = input("Input a letter here ").lower()
if guess in word:
indices = find_all(word, guess)
print(indices)
listed_board = list(board)
for i in indices:
listed_board[i] = guess
board = "".join(listed_board)
print(listed_board)
Единственная другая часть, которую я не понимаю, это когда она говорит
listed_board[i] = guess
Что это делает?На перечисленной доске это только подчеркивание в этой точке, так как же найти правильную позицию для вставки слова и установить его в соответствии с предположением пользователя?
Оцените ответы, спасибо!