Я пытаюсь написать код для чего-то похожего на палач, но это не работает - PullRequest
1 голос
/ 18 апреля 2020

Я пытаюсь закодировать палача, но даже после правильного угадывания слова l oop продолжается. Кажется, что бит, который не работает, это бит if word == ("".join(userword)) в конце, но я не знаю, что я делаю неправильно.

import random
word = random.choice(["apple", "orange", "pineapple"])
word = list(word)
life = 5
userword = []

for i in range (len(word)):
    userword.append("_")

while life > 0: 
    print("".join(userword))
    print("enter a letter")
    letter = input()
    letterinword = False
    for i in range(len(word)):
        if word[i] == letter:
            userword[i] = letter
            letterinword = True

    if letterinword == False:
        life = life - 1

    if word == ("".join(userword)):
        break

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

это потому, что слово "word" преобразуется в список в строке 3.

Итак, вы сравниваете

['a','p','p','l','e'] == 'apple'

Самое простое исправление -

if "".join(word) == "".join(userword):
0 голосов
/ 18 апреля 2020

Вам не нужно преобразовывать случайно выбранное слово в список:

word = random.choice(["apple", "orange", "pineapple"])
word = list(word)

Удалите вторую строку выше, и ваше предложение выхода будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...