No meu terminal só aparece o diretório, estou usando o vs code.
No meu terminal só aparece o diretório, estou usando o vs code.
Olá Leandro, tudo bem com você?
Com base nas mensagens de log apresentadas na imagem, peço que verifique se a função jogar()
está sendo chamada no arquivo forca.py. Ao final do código devemos ter as seguintes linhas declaradas. Note que apenas o "__main__"
é uma string.
if(__name__ == "__main__"):
jogar()
Caso as linhas acima estejam declaradas, peço que verifique a indentação (espaços), as linhas acima devem ser declaradas fora da função jogar()
.
Após confirmar que as linhas acima foram declaradas como apresentadas, salve o arquivo. Basta pressionar +.
Executaremos o arquivo usando linhas de comando. Primeiramente será necessário acessar a pasta Python_Orientação a Objetos que contém o arquivo forca.py executando o comando abaixo no terminal.
cd "Python_Orientação a Objetos"
Após acessar a pasta Python_Orientação a Objetos basta realizar a execução do arquivo forca.py, execute o comando abaixo no terminal.
python forca.py
Nesse momento o jogo forca deverá iniciar.
Quero aproveitar a oportunidade de deixar uma dica de boas práticas. É recomendado que as pastas dos projetos que possuem múltiplas palavras sejam nomeadas fazendo o uso do underline (_
) ou traço (-) no lugar do espaço. Também é recomendado que não seja feito o uso de caracteres especiais, exemplos: til (~) cedilha (ç) entre outros. Aplicando essas recomendações a pasta Python_Orientação a Objetos ficará da seguinte forma python_orientacao_a_objetos.
Verifique o ponto destacado acima, caso o jogo continue não sendo apresentado, peço que compartilhe o código completo e uma print da tela completa no momento da execução do arquivo forca.py.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
def jogar():
print("*********************************")
print("***Bem vindo ao jogo da Forca!***")
print("*********************************")
palavra_secreta = "maçã".upper()
letras_acertadas = ["_" for letra in palavra_secreta]
enforcou = False
acertou = False
erros = 0
print(letras_acertadas)
while(not enforcou and not acertou):
chute = input("Qual 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 += 1
else:
erros =+ 1
enforcou = erros == 6
acertou = "_" not in letras_acertadas
print(letras_acertadas)
if(acertou):
print("Você ganhou! !")
else:
print("Você perdeu! !")
print("Fim do jogo")
if(__name__ == "__main__"):
jogar()
Olá Leandro, tudo bem com você?
O arquivo forca.py não está apresentado a execução da função jogar()
devido a indentação (espaço) incorreta da estrutura condicional if(__name__ == "__main__"):
. Será necessário remover os espaços que estão a mais na estrutura condicional if
para que ela e seu conteúdo sejam executados no momento em que executamos o arquivo forca.py. Deixo abaixo os passos que devem ser realizados.
Conforme apresentado na imagem, selecione as linhas 39 e 40 do código presentes no arquivo forca.py e pressione uma vez + para remover os espaços.
Salve o arquivo pressionando +.
Acesse a pasta Python_Orientação a Objetos que contém o arquivo forca.py executando o comando abaixo no terminal.
cd "Python_Orientação a Objetos"
Após acessar a pasta Python_Orientação a Objetos basta realizar a execução do arquivo forca.py, execute o comando abaixo no terminal.
python forca.py
Código completo com a mudança de indentação já corrigida
def jogar():
print("*********************************")
print("***Bem vindo ao jogo da Forca!***")
print("*********************************")
palavra_secreta = "maçã".upper()
letras_acertadas = ["_" for letra in palavra_secreta]
enforcou = False
acertou = False
erros = 0
print(letras_acertadas)
while(not enforcou and not acertou):
chute = input("Qual 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 += 1
else:
erros =+ 1
enforcou = erros == 6
acertou = "_" not in letras_acertadas
print(letras_acertadas)
if(acertou):
print("Você ganhou! !")
else:
print("Você perdeu! !")
print("Fim do jogo")
if(__name__ == "__main__"):
jogar()
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
Obrigado Felippe, era o código mesmo.