Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Simiplesmente não roda, e também não da erro... alguém consegue me ajudar?

def forca(): print("------------------------------------") print("Sejam bem vindo a nossa forca") print("------------------------------------")

palavra_secreta = 'coxinha'
acertou = False
enforcou = False

while(not acertou and not enforcou):

    chute = input("Chute uma letra em nossa forca: ")
    chute = chute.strip()
    posicao = 0

    for letra in palavra_secreta:
        if(chute.upper() == letra.upper()):
            print("A letra {} está na posição {} ".format(chute, posicao))
        posicao = posicao + 1
    print('fim de jogo...')


if( __name__ == '__main__'):
    forca()
5 respostas

O jogo está entrando em loop infinito pois as variáveis enforcou e acertou nunca são alteradas. Por exemplo, mesmo que a pessoa acerte a palavra, a variável enforcou não muda o valor para true ou se a pessoa atingir o máximo de tentativa a variável enforcou não muda para true. o correto é ter um condição que faça essas verificações e mude o valor das variáveis para que o loop pare.

Então Bárbara fiz essa pergunta porque esse programa aqui rodou, mas o que eu fiz não.... ps: Esse programa peguei no forum anterior deste mesmo curso.

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

    palavra_correta = "violão"
    acertou = False
    foi_enforcado = False

    while (not foi_enforcado and not acertou):

        chute = input("Insira uma letra:")
        index = 0

        for letra in palavra_correta:
            if (chute == letra):
                print("A letra {} foi encontrada na posição {}!".format(letra, index))
            index = index + 1

    print("Fim do jogo")


if __name__ == "__main__":
    jogar()

Aqui tanto o seu quanto esse rodam porém ficam em loop infinito pois não existe condição de parada. Não mostra nenhuma msg no teu terminal?

Está em loop infinito, pois queria acompanhar com a aula então acabou que o codigo não esta finalizado. No entanto o meu não roda nada.

(Process finished with exit code 0 - essa é minha saida, apenas.)

Mas se rodou no seu pode ser algum problema aqui...

solução!

Eduardo, você está rodando o código direto do arquivo forca.py?

Se estiver rodando pelo jogos.py, certifique-se de que o código dele chama a função forca().

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software