Как пройти через весь список с помощью оператора if, даже если первый условие было выполнено? - PullRequest
0 голосов
/ 15 января 2020

Код ниже для игры в палача. Когда оператор if находит первую букву, он останавливается и не go далее по списку, поэтому он не добавляет дубликаты. Например, если слово содержит две a буквы, оно добавит только первую.

words = ["harry potter", "i love you forever", "neverland", "pockahontas"]
lives = 3
hangman = list(random.choice(words))
copy_of_hangman = hangman.copy()
print(copy_of_hangman)
for i in range(-6, 6, 2):
    copy_of_hangman[i] = "_"
print(copy_of_hangman)
while lives != 0:
    guess = input("Make your guess: ")
    for letter in hangman:
        if letter == guess:
            copy_of_hangman[hangman.index(letter)] = guess
            print(" ".join(copy_of_hangman))

1 Ответ

0 голосов
/ 15 января 2020

Вам нужно использовать некоторое время l oop.
Так что вместо copy_of_hangman[hangman.index(letter)] = guess вы можете использовать что-то вроде (не проверено):

pos = hangman.index(letter)
while pos != None:
    copy_of_hangman[pos] = guess
    pos = hangman.index(letter)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...