1
resposta

Meu código do jogo

Meu código está dessa forma. Mas quando rodo, aparece o seguinte caractere após Digite uma letra?:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade O que é a >??

import random

def jogo():

    mensagem_inicial()
    palavra_secreta = carrega_palavra_secreta()
    letras_acertadas = inicializa_letra_vazias(palavra_secreta)

    letras_faltando = str(letras_acertadas.count('_'))
    print('Ainda faltam acertar {} letras'.format(letras_faltando))

    enforcou = False
    acertou = False
    erros = 0

    print(letras_acertadas)

    while(not enforcou and not acertou):

        chute = input("Digite uma 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
            print("Ops, você errou! Faltam {} tentativas.".format(6-erros))

        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)

    if(acertou):
        print("PARÁBENS!!! Você acertou")
    else:
        print("Você perdeu!!!")

    print("Fim do jogo")

def mensagem_inicial():
    print("********************************")
    print("***Bem vindo ao jogo de Forca***")
    print("********************************")


def carrega_palavra_secreta():
    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()
    return palavra_secreta


def inicializa_letra_vazias(palavra):
    return ["_" for letra in palavra]

if(__name__ == "__main__"):
    jogo()
1 resposta

Olá Vinicius, tudo bem com você?

Meus parabéns por compartilhar com a comunidade como está ficando seu código.

Quando você usa o operador .close() para fechar o arquivo, é necessário colocar dois parênteses no final, para a função ter efeito e com isso o arquivo ser fechado. Ficando da forma mostrada abaixo.

def carrega_palavra_secreta():
    arquivo = open("palavras.txt", "r")
    palavras = []

    for linha in arquivo:
        linha = linha.strip()
        palavras.append(linha)

    arquivo.close()

Esse caractere que está aparecendo é da função Debug que existe no Pycharm ou em outros ambientes de desenvolvimento integrado (IDE), ele está indicando que está esperando uma resposta do usuário.

Para ficar igual ao que o professor está fazendo na aula, basta usar o Run; você pode testar seu código apertando ctrl+shift+F10 ou clicar com o botão direito na tela onde está o seu código e em seguida clicar em Run ‘nome_do_arquivo’.

Para saber um pouco mais sobre a função Debug recomendo a leitura desse artigo How to use PyCharm to debug your Python code em português: Como usar o Pycharm para debugar seu código Python; caso tenha dificuldades com o idioma recomento o uso do tratudor do navegador.

Em caso de mais dúvidas me coloco à disposição.

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