Python hangman

Asked

Viewed 113 times

0

Guys, I’m playing a little python hangman game. My doubt is as follows: how do I order the hits according to the chosen word of the gallows and make it duplicate the letter I typed if there is more than one in the chosen word? Obs: without using function

Nomes = ['EDWARD', 'MIDORYA', 'YUGI', 'SEIYA', 'ALLMIGHT']
Nome_Escolhido = []
Acertos = []
Digitadas = []
cont = 0
r = randint(0, 4)

Nome_Escolhido += Nomes[r]
q = ''
x = ' , '
print(q.join(Nome_Escolhido))  #teste

while True:
    Digitadas1 = input('\nDigite uma letra: ').capitalize()
    if Digitadas1 in Acertos:
        print('\nVocê já digitou esse número perdeu uma vida')
    elif Digitadas1 in Nome_Escolhido:
        Acertos.append(Digitadas1)
        print('\nAcertou')
    else:
        print('\nNão tem essa letra na palavra!')
        Digitadas.append(Digitadas1)
        cont += 1
    if Nome_Escolhido == Acertos:
        print(f'\nVocê ganhou!\n Nome:{q.join(Nome_Escolhido)} ')
        break
    if cont == 3:
        print('\nVocê errou 3 vezes então perdeu o jogo')
        break
    print(f'Letras usadas {x.join(Digitadas)}') #teste
    print(f'Erros: {cont}')  #teste
    print(q.join(Acertos)) #teste

1 answer

1

You can enter something in the Hits list to fill it, like 0 until you reach the quantity Len(Chosen Name). Using Edward as an example that has 6 letters:
[0, 0, 0, 0, 0, 0], so you can use a for to go through the word and add in the Hits position:

for i in range(len(Nome_Escolhido)):
   if Digitadas1 == Nome_Escolhido[i]:
      Acertos[i] = Digitadas1
  • It worked buddy, thank you very much!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.