1
resposta

Solução para o desafio proposto

Segue abaixo a forma como solucionei o desafio proposto pelo instrutor de exibir uma mensagem indicando quantas tentativas restam para o usuário antes do mesmo "se enforcar". Declarei outras duas variáveis chamadas de "tentativas" e "tentativas_restantes", inicializadas com valor igual a 6 e "tentativas", respectivamente. Dentro do "for", caso o usuário dê um chute válido, é impressa uma mensagem na tela apenas mostrando "tentativas_restantes" atuais (caso ele acerte na primeira, continuará com o número de tentativas totais declarado em "tentativas"). Caso o chute não seja de uma letra contida na palavra secreta, é feito o cálculo: tentativas_restantes = tentativas - erros. Então, é impressa uma mensagem na tela informando novamente o valor de "tentativas_restantes", onde agora já foi descontado o primeiro erro. Segue código abaixo para maiores detalhes.

# Saudação:
print("\n")
print("***********************************")
print("****Bem vindo ao jogo da Forca!****")
print("***********************************")

# Declaração de variáveis
palavra_secreta = "banana".upper()
letras_acertadas = ["_", "_", "_", "_", "_", "_"]
enforcou = False
acertou = False
erros = 0
tentativas = 6
tentativas_restantes = tentativas

# Apresenta para o usuário o layout da palavra secreta
print(f"\nA palavra secreta é: {letras_acertadas}")

# Código do progrema:
while(not enforcou and not acertou):

    # Pede um chute para o usuário:
    chute = input("\nChute uma letra: ")
    chute = chute.strip().upper()  # Retira os espaços inseridos pelo usuário na entrada de texto antes de comparar

    # Verifica se a letra chutada existe na palavra secreta e caso exista executa o código abaixo:
    if(chute in palavra_secreta):
        posicao = 0
        for letra in palavra_secreta:
            if(chute == letra):
                letras_acertadas[posicao] = letra
            posicao += 1
        print(f"\nA letra existe na palavra! Você ainda tem {tentativas_restantes} tentativas.")
        print("\n")
        print(letras_acertadas)

    # Caso o chute não exista na palavra secreta, executa:
    else:
        erros += 1
        tentativas_restantes = tentativas - erros
        print(f"\nA letra não existe na palavra. Restam {tentativas_restantes} tentativas.")

    # Declara as condições para "enforcou" e "acertou" serem true:
    enforcou = erros == tentativas
    acertou = "_" not in letras_acertadas

# Realiza verificação se o usuário já se enforcou ou se ele já acertou a palavra secreta:
if (acertou):
    print("\nParabéns, você acertou a palavra secreta!")
if(enforcou):
    print("\nVocê se enforcou!")

# Saudação de encerramento
print("\nFIM DO JOGO")
1 resposta

Eaeee, ficou bem legal, adicionei algumas novas coisas que acho que vai gostar :D

# Saudação:
print("\n")
print("***********************************")
print("****Bem vindo ao jogo da Forca!****")
print("***********************************")

# Declaração de variáveis
brincadeira = 0
while(brincadeira==0):                                                                               #O looping while para que a brincadeira possa sempre reiniciar.
    a = str(input("Digite a palavra que você deseja na forca: "))           #Nesse bloco de código, o tamanho da lista é definido automaticamente de acordo
    palavra_secreta = a.upper()                                                                  #Com o tamanho da palavra informada pelo usuário
    letras_acertadas = []
    for i in range(len(palavra_secreta)):
        letras_acertadas.append("_")
        i+=1
    enforcou = False
    acertou = False
    erros = 0
    tentativas = 6
    tentativas_restantes = tentativas

    # Apresenta para o usuário o layout da palavra secreta
    print(f"\nA palavra secreta é: {letras_acertadas}")

    # Código do progrema:
    while(not enforcou and not acertou):

        # Pede um chute para o usuário:
        chute = input("\nChute uma letra: ")
        chute = chute.strip().upper()  # Retira os espaços inseridos pelo usuário na entrada de texto antes de comparar

        # Verifica se a letra chutada existe na palavra secreta e caso exista executa o código abaixo:
        if(chute in palavra_secreta):
            posicao = 0
            for letra in palavra_secreta:
                if(chute == letra):
                    letras_acertadas[posicao] = letra
                posicao += 1
            print(f"\nA letra existe na palavra! Você ainda tem {tentativas_restantes} tentativas.")
            print("\n")
            print(letras_acertadas)

        # Caso o chute não exista na palavra secreta, executa:
        else:
            erros += 1
            tentativas_restantes = tentativas - erros
            print(f"\nA letra não existe na palavra. Restam {tentativas_restantes} tentativas.")

        # Declara as condições para "enforcou" e "acertou" serem true:
        enforcou = erros == tentativas
        acertou = "_" not in letras_acertadas

    # Realiza verificação se o usuário já se enforcou ou se ele já acertou a palavra secreta:
    if (acertou):
        print("\nParabéns, você acertou a palavra secreta!")
    if(enforcou):
        print("\nVocê se enforcou!")

    # Saudação de encerramento
    print("\nFIM DO JOGO")
    x = 1
    while (x == 1):
        fim_de_jogo = input("Deseja continuar?\n\n 0 - Para Sim\n\n 1 - Para Não\n\n")  #Aqui pergunta para o usuário se deseja continuar ou adicionar
                                                                            # Uma nova palavra
        if(fim_de_jogo == "0"):
            brincadeira = 0
            x = 0
        elif(fim_de_jogo == "1"):
            print("Obrigado por jogar <3")
            x = 0
        else:
            print("Não entendi, digite novamente um valor válido: ")

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