Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Código igual ao do instrutor mas dá erros. O que está acontecendo?

def jogar():
    print('******************************************')
    print("******Bem vindo ao jogo da Forca!!!!******")
    print('******************************************')

    palavra_secreta = "banana".upper  
    letras_acertadas = ["_", "_", "_", "_", "_", "_"]

    enforcou = False
    acertou = False
    erros = 0

    while (not enforcou and not acertou):

        chute = input('Digite uma letra: ')
        chute = chute.strip().upper()  
        index = 0

        if chute in palavra_secreta:
            for letra in palavra_secreta:
                if chute == letra:
                    letras_acertadas[index] = letra
                index += 1
        else:
            erros += 1

        enforcou = erros == 6

        print(letras_acertadas)

    print('*** FIM DO JOGO ***')


if __name__ == "__main__":
    jogar()

No Console:


**Bem vindo ao jogo da Forca!!!!**


Digite uma letra: B Traceback (most recent call last): File "/Users/iagosvnova/PycharmProjects/curso_alura_python3_pt2/forca.py", line 42, in jogar() File "/Users/iagosvnova/PycharmProjects/curso_alura_python3_pt2/forca.py", line 25, in jogar if chute in palavra_secreta: TypeError: argument of type 'builtin_function_or_method' is not iterable

Process finished with exit code 1

1 resposta
solução!

Seu codigo esta diferente quando vc declara a variavel palavra_secreta diferente do instrutor que esta so passando o valor "banana", vc ja esta passando o valor e colocando um ".upper" e isso que esta causando erro se vc colocar ".upper()" ja vai funcionar e tambem vai deixar a palavra inteira em maiusculo