Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda no Python


felipaovs12

Pergunta

from random import choice
from time import sleep

print('Jogo da Forca')

# Definindo as Listas de Categoria e do tipo da Categoria
lista_categoria = ['comida']
lista_comidas = ['macarrão', 'arroz']

# Pegando uma Categoria e um Tipo de Categoria Aleatorio
categoria_escolhida = choice(lista_categoria)
palavra_escolhida = choice(lista_comidas)

# Pegando Tamanho da Palavra Escolhida
tam_palavra_escolhida = len(palavra_escolhida)
# Criando um vetor para pegar as letras acertadas pelo jogador
lista_letras_acertadas = list(range(tam_palavra_escolhida))
# Criando um vetor para pegar cada letra da palavra escolhida
lista_letras_escolhidas = list(range(tam_palavra_escolhida))

# Pegando cada letra da palavra escolhida
for j in range(0, tam_palavra_escolhida):
    lista_letras_escolhidas[j] = palavra_escolhida[j]

# Inicio do Jogo
nome = str(input('Digite Seu Nome: ')).strip().title()
sleep(1)
print('=*' * 20)
print('Bem-Vindo {}, ao jogo da Forca'.format(nome))
print('Dica da Palavra {} - Palavra Contem {} letra(s)'.format(categoria_escolhida, tam_palavra_escolhida))

resposta_jogador = True
i = 0

while resposta_jogador:
    letra = str(input('Digite uma Letra: ')).strip().lower()

    # Verificando se a letra digitada pelo usuário contem na lista das palavra escolhida
    if letra[0] in lista_letras_escolhidas:
        # Atribuindo a letra que jogador acertou em uma lista de letras acertadas
        lista_letras_acertadas[palavra_escolhida.find(letra)] = letra[0]
        # Removendo a letra da lista, para que o jogador não repita a mesma letra
        lista_letras_escolhidas.remove(letra[0])
        print(lista_letras_acertadas)
        i += 1

    if i == tam_palavra_escolhida:
        resposta_jogador = False

print('\n{}'.format(palavra_escolhida))

Estou tentando desenvolver um jogo da forca, porém estou com um problema, como vocês podem ver nos print quando eu tenho uma palavra com letras repetidas, na hora de substituir no vetor ele só substitui só a primeira letra,  gostaria de saber o caminho para resolver esse problema !py.thumb.png.7079009c34ed0bf06eaa5397cd8f0e4c.pngpy2.thumb.png.2ce30ff89adde48f09f6159c26e15146.png

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

dei uma olhada rapida aqui, tenho duas sugestões, uma para melhorar seu código e outra para uma ideia para você tentar aplicar

entrada = input('entre uma letra')#input já retorna uma str
entrada_2 = str(input('entre uma letra'))#aqui você esta convertendo uma str em str


variavel = '1a1b1c1d1e'
print(variavel.count('1')) #.count retorna o numero de ocorrencias dentro da str

você pode fazer algumas condicionais com .count

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...