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á 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; senha3
Para 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!