Eu aperfeiçoei o jogo da forca colocando algumas opções a mais só que ao fazer isso apareceu 2 problemas todos relacionados ao jogo em si: 1 - Fica aparecendo None no console, 2 - Quando acerto a frase a frase da erro nas linhas 381, 216
Alguém poderia me ajudar?
import random
def jogo_forca():
# função com mensagem de abertura
abertura()
opcao = int(input(print("(1) Jogar (2) Palavras Existentes (3) Adicionar Palavras")))
if (opcao == 1):
palavra_secreta = carrega_palavra_secreta()
# mostrando a palavra na forma de de "_ _ _ _ _"
letras_acertadas = inicializa_letras_acertadas(palavra_secreta)
print(letras_acertadas)
enforcou = False
acertou = False
erros = 0
# enquanto não for (True)
while (not enforcou and not acertou):
chute = pede_chute()
if (chute in palavra_secreta):
marca_chute_correto(chute, letras_acertadas, palavra_secreta)
else:
erros += 1
desenha_forca(erros)
enforcou = erros == 7
# quando não tiver "_" dentro de letras_acertadas ele acertou
acertou = "_" not in letras_acertadas
print(letras_acertadas)
if (acertou):
ganhou(palavra_secreta)
else:
perdeu(palavra_secreta)
elif (opcao == 2):
palavras_existentes()
elif (opcao == 3):
adicionando_palavras()
else:
print("Opção inválida")
def adicionando_palavras():
print("Cadastre a palavra nova")
# salva a palavra em letras minúscula
palavra = input("Palavra: ").lower()
# insere dados sem substituir os já existentes
arquivo = open("palavras.txt", "a", encoding="utf8")
# quebra de linha para o próximo dado
arquivo.write("\n")
# escreve no arquivo
arquivo.write(palavra)
arquivo.close()
def palavras_existentes():
arquivo = open("palavras.txt", "r", encoding="utf8")
palavras = []
for linha in arquivo:
linha = linha.strip()
palavras.append(linha)
arquivo.close()
for linha in palavras:
print(linha)
def marca_chute_correto(chute, letras_acertadas, palavra_secreta):
# index vai receber as letras acertadas
index = 0
for letra in palavra_secreta:
if (chute == letra):
# cada letra irá assume uma posição no index
letras_acertadas[index] = letra
index += 1
def pede_chute():
chute = input("Qual letra? ")
# tira os espaços do chute e deixando tudo maiúsculo
chute = chute.strip().upper()
return chute