Boa tarde! Segue resolução da minha atividade:
'''
João está desenvolvendo um sistema de cadastro para um site de leitura. Ele precisa garantir que os usuários insiram um nome de usuário e uma senha válidos. As regras são as seguintes:
O nome de usuário deve ter pelo menos 5 caracteres.
A senha deve ter pelo menos 8 caracteres.
João quer que o sistema continue solicitando as informações até que ambas as condições sejam atendidas. Quando o usuário insere dados válidos, o programa deve exibir a mensagem: "Cadastro realizado com sucesso!".
Crie um programa que implemente essa lógica usando um laço while.
'''
logins = [{"usuario": "Danilo", "senha": "Abc12345"}]
def cadastro():
user = None
while user == None or len(user) < 5:
user = input("Digite o nome de usuário: ")
if len(user) < 5:
print("O nome de usuário deve ter pelo menos 5 caracteres.")
senha = None
while senha == None or len(senha) < 8:
senha = input("Digite a sua senha: ")
if len(senha) < 8:
print("A senha deve ter pelo menos 8 caracteres.")
logins.append({"usuario": user, "senha": senha})
def login():
login = input("Digite o nome de usuário: ")
for cadastro in logins:
if cadastro["usuario"] == login:
senha = input("Digite a sua senha: ")
if cadastro["senha"] == senha:
print("Login realizado com sucesso")
else:
print("Senha incorreta")
return
print("Esse cadastro não existe, saindo do programa!")
while True:
print("-" * 50)
print("Seja bem-vindo!")
print("Selecione uma das opções:")
print("1) Cadastro")
print("2) Fazer login")
print("-" * 50)
opcao = int(input("Digite o número da opção: "))
match opcao:
case 1:
cadastro()
case 2:
login()
break
case _:
print("Nenhuma opção valida, saindo do programa")
break