Crie um programa que simule um sistema de login. Ele deve pedir ao usuário para digitar um nome de usuário e uma senha. O programa só permite o acesso se o usuário digitar admin como nome de usuário e 1234 como senha. Caso contrário, o programa deve continuar pedindo as credenciais até que estejam corretas.
- Usar um loop while para repetir até que o login seja correto.
- Usar if-else para verificar se os dados estão corretos.
- Mostrar uma mensagem Acesso permitido quando o login for bem-sucedido.
Passo 1
Beleza, então o exercício pede pra gente criar um programinha que peça repetidamente usuário e senha até receber exatamente “admin” e “1234”. É conteúdo de estruturas de repetição (loop while) e de decisão (if-else). Para resolver, a gente vai precisar entender:
- Como usar um while para repetir ações enquanto uma condição for verdadeira.
- Como usar if e else pra checar se algo é verdade ou não.
- Como ler entrada do usuário (no Python, usando
input
).
Passo 2
Primeiro a gente define quais são as credenciais corretas e inicializa variáveis para guardar o que o usuário digita. Por exemplo:
- usuário correto =
"admin"
- senha correta =
"1234"
- usuário digitado = uma string vazia (pra entrar no loop)
- senha digitada = uma string vazia
Aqui a ideia é garantir que, na nossa primeira verificação no
while
, a condição de “ainda não acertou” esteja valendo.Passo 3
Agora a gente monta o loop
while
. A condição dele é “enquanto o usuário ou a senha estiverem errados”. Em código, isso seria algo como:while usuario_digitado != usuario_correto or senha_digitada != senha_correta:
...
Perceba que usamos os operadores de comparação
!=
(diferente) e or
(ou) pra juntar as duas checagens. É uma expressão booleana:Enquanto isso for true, a gente continua pedindo as credenciais.
Passo 4
Dentro do loop é só:
- Pedir pro usuário digitar nome (
input("Usuário: ")
) - Pedir pro usuário digitar senha (
input("Senha: ")
) - Testar:
if usuario_digitado == usuario_correto and senha_digitada == senha_correta: break else: print("Credenciais incorretas, tenta de novo!")
Aqui usamos
and
pra exigir que as duas condições sejam verdadeiras ao mesmo tempo. Se tudo certo, break
sai do loop; senão, repete e mostra a mensagem de erro.Resposta
# definindo as credenciais corretas
usuario_correto = "admin"
senha_correta = "1234"
# inicializando variáveis
usuario_digitado = ""
senha_digitada = ""
# loop até acertar usuário e senha
while usuario_digitado != usuario_correto or senha_digitada != senha_correta:
usuario_digitado = input("Usuário: ")
senha_digitada = input("Senha: ")
# checando se bate com o que a gente quer
if usuario_digitado == usuario_correto and senha_digitada == senha_correta:
break
else:
print("Credenciais incorretas, tenta de novo!")
# quando sair do loop, significa que acertou
print("Acesso permitido")