Resolvi ir um pouco além do que vimos até essa aula e fiz com que a palavra a ser acertada fosse obtida aleatoriamente e um chute baseado no tamanho dessa palavra fosse estipulado. Também criei uma lógica para o laço ser interrompido.
Entretanto, o vetor letras_acertadas iniciei vazio e, de acordo com a palavra sorteada, fossem inseridos os caracteres n "_" em tal vetor. Vi que isso pode ser feito através do método apende();
Gostaria de saber da forma como fiz seria uma boa prática. Em outras linguagens como Java, você indica o tamanho do vetor, e não é possível alterar o seu tamanho. Em Python, vi que isso é possível. Isso não gera um certo overhead na execução do código?
Segue o código:
import random as ran
def jogar():
frutas = ["uva","caqui","jambolao"]
indice = ran.randrange(len(frutas))
palavra_secreta = frutas[indice]
numero_chutes = len(palavra_secreta)
print("você tem {} chutes".format(numero_chutes))
letras_acertadas = []
for letra in palavra_secreta:
letras_acertadas.append("_")
enforcou = False
acertou = False
while(not enforcou and not acertou):
if(numero_chutes == 0):
enforcou = True
print("você se enforcou!")
else:
chute = input("Qual letra? ")
chute = chute.strip()
index = 0
for letra in palavra_secreta:
if(chute.upper() == letra.upper()):
letras_acertadas[index] = letra
index = index + 1
print(letras_acertadas)
palavra_chute = ""
for letra in letras_acertadas:
palavra_chute += letra
if(palavra_chute == palavra_secreta):
acertou = True
print("você acertou!")
numero_chutes -= 1
print("Fim do jogo")
if(__name__ == "__main__"):
jogar()
Obrigado.
Jhonatan