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

Minha versão do jogo da forca

Minha versão do jogo da forca

def jogar():
    from random import choice
    print("*********************************")
    print("***Bem vindo ao jogo da Forca!***")
    print("*********************************")

    palavras = ['uva', 'melancia', 'sapato', 'camisa']
    palavra_secreta = choice(palavras).lower()
    letras_acertadas = ['_' for letra in palavra_secreta]

    erros = 5

    print(letras_acertadas)

    while(True):
        chute = input("Qual letra? ").strip().lower()
        if (chute in palavra_secreta):
            for index, letra in enumerate(palavra_secreta):
                if(chute == letra):
                    letras_acertadas[index] = chute
        else:
            erros -= 1
            print(f"Errou você tem {erros} tentivas.\n")        

        print(letras_acertadas)
        print(f"Ainda faltam acertar {letras_acertadas.count('_')} letras.\n")

        if ('_' not in letras_acertadas):
            print("Você venceu!!!")
            break
        if (erros == 0):
            print("Você perdeu!!!")
            break

    print("Fim do jogo")

if(__name__ == "__main__"):
    jogar()
3 respostas
solução!

Olá Wallace, tudo bem com você?

Meus parabéns pelo empenho e dedicação nos estudos, essa busca pelo conhecimento é muito importante. Fico feliz que tenha compartilhado o seu código no fórum da Alura.

Gostaria de aproveitar a oportunidade e deixar uma dica de boas práticas de programação em Python. Quando estamos importando módulos no Python existe uma recomendação pela PEP 8 (Guia de Estilo de Código — Python Enhancement Proposals) de que os import devem ficar no topo do nosso arquivo. Exemplo:

from random import choice

def jogar():

        # restante do código

A PEP08 foi criada para existir uma padronização dos códigos em Python, ela aborda todos os padrões esperados em um projeto Python, visando facilitar a leitura e entendimento por parte da pessoa programadora.

Assim, vale ressaltar que, uma das desvantagens do uso da importação de módulos dentro da estrutura do código, será a quebra da padronização, além da dificuldade para conhecer todos os módulos e bibliotecas utilizadas no arquivo, fato que não ocorre quando a importação é explícita no início do código.

Caso queira aprimorar ainda mais o seu aprendizado sobre a PEP 8, a Alura possui um curso dedicado a esse tema:

Espero ter lhe ajudado. Em caso de dúvidas estou à disposição.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obg pelo feedback Felippe!

Excelente dica. Bom conhecer que existe essa referência oficial de boas práticas.