Olá pessoal, tudo bem ?
Tentei escrever um código que fizesse o seguinte:
- 1-ler uma senha digitada pelo usuário
- 2 - adivinhar a senha digitada pelo usuário e mostrar o resultado na tela.
Meu raciocínio foi o seguinte:
- a- armazenar a senha digitada pelo usuário e separar a palavra, letra por letra em uma serie.
- b- entregar uma serie com todas as letrar para comparacao
- c - comparar cada letra da senha com cada letra do alfabeto, enquanto a ultima letra de cada seria for diferente uma da outra.
- d- armazenar a letra do alfabeto em uma terceira variavel, sempre que as comparações forem iguais
o código ficou o seguinte:
import pandas as pd
import string
senha_input= input("Digite uma senha:")
tamanho = len(senha_input)
senha = list(senha_input)
print(tamanho)
print(senha)
alfabeto = [ "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","x","z","w","y"]
i=0
adivinha = []
for i in range(0,(tamanho)):
adivinha.append(("a"))
print("adivinha agora é :" , adivinha)
i=0
a=0
k = tamanho-1
while adivinha[k] != senha[k]:
if (senha[a] != alfabeto[i]) is True:
print("i é igual a ", i, "a é igual a ", a , "diferente") #linha para imprimir na tela as interações e tentar identificar o erro
i = i+1
else:
adivinha[a]=alfabeto[i]
print( "a é igual a ", a ,"i é igual a ", i,"igual", adivinha) #linha para imprimir na tela as interações e tentar identificar o erro
i = 0
a=a+1
print("A senha digitada é: ",adivinha)
Problema
inicialmente o código pareceu funcionar, entregando exatamente os caracteres da senha. Mas, Dependendo da senha digitada, o código simplesmente não consegue adivinhar. Nas imagens abaixo, ele acerta a senha ( "gabriel").
Exemplo de palavras que ao serem imputadas como senha, geram erro: ("qualquercoisa","aba","ata","aha")
reparei no padrão em que se a letra A se repete, o código nao funciona Alguma sugestão ??