Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Queria desenvolver um programa de Login com o Python utilizando ternario.

Vi uma Aula ontem de Ternario e fiquei quebrando cabeça utilizando ternario em todos as atividades que eu poderia conseguir utilizar, so que não consegui nesta de login, existe um jeito? Meu Codigo Abaixo

logins = [{'login':'Pedro', 'Senha':'Senha123'}]

login = input ('Digite teu login ai pa ve se é a true: ')
senha = input ('Digite a senha ai! ')


print(f'Acesso Permitido {login}') if login == 'login' and senha == 'Senha' else print(f'Acesso Negado')
2 respostas
solução!

Olá, Pedro. Tudo bem?

No caso de um sistema de login, o operador ternário pode não ser a melhor escolha devido à sua simplicidade e ao fato de que ele é geralmente usado para expressões mais curtas e diretas. Mas, se você realmente quer testar dessa forma, podemos tentar simplificar um pouco o seu código usando o operador ternário.

O seu código tem um pequeno erro na comparação dos valores de login e senha. Você está comparando com as strings literais 'login' e 'Senha', ao invés de comparar com os valores armazenados no dicionário. Exemplo:

logins = [{'login': 'Pedro', 'Senha': 'Senha123'}]

login = input('Digite teu login ai pa ve se é a true: ')
senha = input('Digite a senha ai! ')

# Usando operador ternário para verificar login e senha
resultado = 'Acesso Permitido' if any(user['login'] == login and user['Senha'] == senha for user in logins) else 'Acesso Negado'
print(resultado)

Neste exemplo, usamos uma compreensão de lista com any() para verificar se existe algum dicionário na lista logins que corresponda ao login e senha fornecidos. Se houver correspondência, a mensagem "Acesso Permitido" será exibida; caso contrário, "Acesso Negado".

Espero ter ajudado.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

NUUUU, obrigado por responder, porque eu realmente não ia conseguir fazer. Agradeço de novo, vou estudar mais essa funcionalidade do any e de puxar algo da lista, preciso reforçar isso. Muito obrigado