Olá pessoal, podem me ajuda?
Criei uma função de cadastro e uma função de login.
Gostaria de saber se há um modo de validar as informações que o usuario colocará na função login, baseado no que ele preencheu em cadastro.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá pessoal, podem me ajuda?
Criei uma função de cadastro e uma função de login.
Gostaria de saber se há um modo de validar as informações que o usuario colocará na função login, baseado no que ele preencheu em cadastro.
Olá, Eduardo! Tudo bom? Espero que sim!
Você pode criar uma lista com os valores de cadastro, e-mail e senha, ou então um arquivo de texto (.txt, .csv) com as informações que foram registradas no cadastro, e após isso, pedir para que o software leia esse arquivo compare a entrada de Login e Password no seu "banco de dados".
Vamos trabalhar a segunda ideia.
Vamos utilizar o padrão login; senha, um CSV separado por ponto e vírgula, e com quebra de linha separando as informações. Exemplo:
login1@example.com; senha1
login2@example.com; senha2
login3@example.com; senha3Para fazer a abertura de um arquivo e escrever novos dados nele, usamos o seguinte código dentro da função de cadastro:
with open('login_database.txt', 'a') as arquivo:
arquivo.write(email";"password)Então o código de castro fica:
def cadastro():
email = input("Digite o e-mail: ")
password = input("Digite uma senha: ")
with open('login_database.txt', 'a') as arquivo:
arquivo.write(email + ";" + password + "\n")
E para fazer a verificação, você agora utiliza uma função de login que recebe parâmetros os parâmetros email e password, uma login(email, password). E essa função deve ler o mesmo arquivo de texto e comparar a estrutura de email e senha.
def login(email, password):
registro = email + ";" + password
with open('login_database.txt', 'r') as arquivo:
for login_txt in arquivo.readlines():
if (registro == login_txt.strip()):
print("O login foi um sucesso!")
O código acima lê todas as linhas do arquivo txt com o método readlines(), e analisa o elemento lido sem contar o caractere de quebra de linha ("\n").
Nos cursos Python: começando com a linguagem e [Python: avançando na linguagem](Python: avançando na linguagem), você vai trabalhar com os métodos de lista e strings, utilizadas nos códigos acima.
Dica: Sempre adicione fragmentos de código aqui no Fórum utilizando a função de inserção de código. Isso ajuda na hora de revisar e comentar os blocos. No artigo Fórum da Alura: como inserir imagens nas perguntas, você aprende algumas dicas de como utilizar o fórum.
Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!