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

De repente o código não funciona

Olá pessoal, tudo jóia?

Então, seguinte.

Estou refazendo o curso inteiro e reescrevendo o código de maneira pontual. Só que, às vezes dá erro que eu não consigo enxergar e o exemplo no print e no código subsequente mostram isso. Eu fiquei 1 semana cuidando de revisar o conteúdo lendo ponto a ponto, enquanto fico um dia sem ler pra "descansar" e impedir o mecanismo de autocorreção do cérebro e mesmo assim estou "patinando". Aproveito para pedir dicas de estudos: como conseguir enxergar erros nos códigos? Como conseguir criar um comando novo ou mais eficiente? como conseguir ter mais sucesso e rendimento nos estudos (e consequentemente depender menos do fórum)?

Abraços

import random def jogar():

print("*********************************")
print("***Bem-vindo ao jogo da Forca!***")
print("*********************************")


arquivo = open("palavras.txt", "r")
palavras=[]
for linha in arquivo:
    linha = linha.strip()
    palavras.append(linha)    

arquivo.close()

numero=random.randrange(0,len(palavras))
palavra_secreta = palavras[numero].upper()

letras_acertadas = ["_",for letra in palavra_secreta]  **#O ERRO SUPOSTAMENTE ESTÁ AQUI, MAS NÃO SEI ONDE OU NO QUE.**

enforcou = False
acertou = False
erros = 0
print(letras_acertadas)

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

    if(chute in palavra_secreta):
        index=0
        for letra in palavra_secreta:
            if (chute==letra):
                letras_acertadas[index] = letra
            index=index+1
    else:
            erros += 1
    enforcou = erros == 6
    acertou = "_" not in letras_acertadas
    print (letras_acertadas)

if(acertou):
    print("É isso aí! Você acertou!")
else:
    print("Já era: você P-E-R-D-E-U!!")

print ("Fim de jogo")

if(name == "main"): jogar()

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas
solução!

Olá!

É normal ter dificuldades para identificar erros nos códigos, especialmente quando estamos começando a programar. Uma boa prática é sempre ler o código com calma, prestando atenção nos detalhes, e ir testando o código à medida que ele é escrito. Além disso, é importante ter um bom conhecimento das estruturas básicas da linguagem de programação em que você está trabalhando e dos conceitos envolvidos na implementação do algoritmo.

No seu exemplo de código, acredito que o erro está na linha em que você está criando a lista letras_acertadas. Você usou a sintaxe ["_",for letra in palavra_secreta], mas o correto seria letras_acertadas = ["_" for letra in palavra_secreta] Nesse caso, a list comprehension cria uma lista com o caractere "_" para cada letra da palavra secreta.

Para criar comandos novos ou mais eficientes, é importante estudar os recursos disponíveis na linguagem de programação que você está utilizando e as boas práticas de programação. Além disso, é útil estudar exemplos de códigos que implementam funcionalidades semelhantes para se inspirar e entender como outras pessoas abordaram o problema.

Espero ter ajudado!

Olá Otavio Prado

Era isso mesmo. Um vigulazinha de nada foi o que me detonou o código inteiro! E olha que li e reli passo a passo juntamente com o vídeo, mas o detalhe tão minúsculo me deixou sem saber o que fazer.

É muito difícil aprender e, embora eu tenha tido algum progresso e aprendido um pouco de linguagem e lógica, as dificuldades são imensas. Mas vamos caminhando.

Abraços e muito obrigado pela ajuda!

Olá Nicholas,

Fico feliz em saber que o problema foi resolvido e que a correção do código funcionou corretamente. Às vezes, um pequeno erro de digitação ou um detalhe de sintaxe pode causar problemas difíceis de identificar, mas faz parte do processo de aprendizado.

A programação pode ser desafiadora, especialmente no início, mas lembre-se de que a prática constante e a resolução de problemas ajudam a melhorar suas habilidades ao longo do tempo. É normal enfrentar dificuldades, mas com paciência e perseverança, você conseguirá superá-las e se tornar um programador mais experiente.

Se surgirem mais dúvidas ou se precisar de mais ajuda, fique à vontade para perguntar. Estamos aqui para ajudar no seu aprendizado. Continue estudando e praticando, e você verá progresso ao longo do tempo.

Abraços e bons estudos!

Muito agradecido! de Coração mesmo!

Estamos juntos!