Desde já agradeço a atenção.
Meu código só está rodando com as funções funcao_abertura() e palavra_secreta = funcao_palavra_secreta() sendo declaradas após o import random, conforme abaixo.
import random
def funcao_abertura(): print("*") print("***Escolha o seu jogo!***") print("*")
def funcao_palavra_secreta():
arquivo = open("palavra.txt", encoding="utf-8", mode="r")
palavra = []
for linha in arquivo:
linha = linha.strip()
palavra.append(linha)
arquivo.close()
numero = random.randrange(0, len(palavra))
palavra_secreta = palavra[numero].upper()
return palavra_secreta
def jogar():
funcao_abertura()
palavra_secreta = funcao_palavra_secreta()
#Se a palavra secreta fosse digitada por aqui palavra_secreta = input("Qual vai ser a palavra secreta? ").upper()
letras_acertadas = ["_" for letra in palavra_secreta] #essa funcionalidade se chama List Comprehensions
#Esse for seria usado caso a palavra secreta fosse digitada aqui
#for letra in palavra_secreta:
# letras_acertadas.append("_")
tentativas = len(palavra_secreta)
erros = 0
enforcou = False
acertou = False
print(letras_acertadas)
while(not enforcou and not acertou): #enquanto não enforcou e não acertou. not enforcou = True / not acertou = True
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 #igual a index = index + 1
else:
erros += 1 #igual a erros = erros + 1
print("Ops, você errou! Faltam {} tentativas.".format(tentativas - erros))
enforcou = erros == tentativas
acertou = "_" not in letras_acertadas
print(letras_acertadas)
if(acertou):
print("Você ganhou")
else:
print("Voce perdeu")
print("Fim do jogo!")
if(name == "main"): jogar()
Seu declarar as funções após o final (código abaixo do erro), o segunite erro é exibido: Traceback (most recent call last): File "C:\cursopython\aula1\forca.py", line 46, in jogar() File "C:\cursopython\aula1\forca.py", line 5, in jogar funcao_abertura() NameError: name 'funcao_abertura' is not defined
import random
def jogar():
funcao_abertura()
palavra_secreta = funcao_palavra_secreta()
#Se a palavra secreta fosse digitada por aqui palavra_secreta = input("Qual vai ser a palavra secreta? ").upper()
letras_acertadas = ["_" for letra in palavra_secreta] #essa funcionalidade se chama List Comprehensions
#Esse for seria usado caso a palavra secreta fosse digitada aqui
#for letra in palavra_secreta:
# letras_acertadas.append("_")
tentativas = len(palavra_secreta)
erros = 0
enforcou = False
acertou = False
print(letras_acertadas)
while(not enforcou and not acertou): #enquanto não enforcou e não acertou. not enforcou = True / not acertou = True
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 #igual a index = index + 1
else:
erros += 1 #igual a erros = erros + 1
print("Ops, você errou! Faltam {} tentativas.".format(tentativas - erros))
enforcou = erros == tentativas
acertou = "_" not in letras_acertadas
print(letras_acertadas)
if(acertou):
print("Você ganhou")
else:
print("Voce perdeu")
print("Fim do jogo!")
if(name == "main"): jogar()
def funcao_abertura(): print("*") print("***Escolha o seu jogo!***") print("*")
def funcao_palavra_secreta():
arquivo = open("palavra.txt", encoding="utf-8", mode="r")
palavra = []
for linha in arquivo:
linha = linha.strip()
palavra.append(linha)
arquivo.close()
numero = random.randrange(0, len(palavra))
palavra_secreta = palavra[numero].upper()
return palavra_secreta