2
respostas

Terminal não printa a letra e nem o index do print

Boa noite, eu estou tentando fazer com quê o comando for letra in palavra_secreta me retorne o comando print quando a condição for verdadeira, porém ele apenas pede para eu digitar a letra novamente mesmo a condição estando correta.

Segue meu código:

def jogar(): # estou definindo quê esse jogo terá uma variável chamada jogar_forca()

    print("*********************************")  # introdução do jogo
    print("Bem vindo ao jogo de Adivinhação!")  # introdução do jogo
    print("*********************************")  # introdução do jogo

    print("Fim do jogo") # fim do jogo

    palavra_secreta = "banana"

    enforcou = False
    acertou = False

    while(not enforcou and not acertou):
        chute = input("Qual a letra? Digite: ")

    index = 0

    for letra in palavra_secreta:
        if(chute == letra):
            print("Encontrei a letra {} na posição {}".format(letra, index))
        index = index + 1

    print("jogando...")


if(__name__== "__main__"):
    jogar()

O quê ele me retorna:

*********************************
Bem vindo ao jogo de Adivinhação!
*********************************
Fim do jogo
Qual a letra? Digite: a
Qual a letra? Digite: a
Qual a letra? Digite: b
Qual a letra? Digite: c
Qual a letra? Digite: 
2 respostas

Olá Lucas,

Python 3 certo?

tente o seguinte no lugar do print dentro do if:

print('Encontrei a letra: ', letra, ' na posição: ', index)

Olá xará, você deveria colocar aqueilas instruções dentro do while

while(not enforcou and not acertou):
        chute = input("Qual a letra? Digite: ")
        index = 0

        for letra in palavra_secreta:
            if(chute == letra):
                print("Encontrei a letra {} na posição {}".format(letra, index))
            index = index + 1

E Raul, a separação de variaveis por virgula no python 3, já adiciona um espaço entre o valor da variável e o restante da string, então não é necessario colocar espaços antes de adicionar a variável, dessa forma:

print('Encontrei a letra:', letra, 'na posição: ', index)

A partir da versão 3.6 do python é possivel fazer uma f-string(format-string) que faz uma espécie de resumo do format:

print(f'Encontrei a letra: {letra} na posição: {index}')