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:
  1. Como usar um while para repetir ações enquanto uma condição for verdadeira.
  2. Como usar if e else pra checar se algo é verdade ou não.
  3. 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:
(usuariodigitado neq usuariocorreto),lor,(senhadigitada neq senhacorreta)
Enquanto isso for true, a gente continua pedindo as credenciais.

Passo 4

Dentro do loop é só:
  1. Pedir pro usuário digitar nome (input("Usuário: "))
  2. Pedir pro usuário digitar senha (input("Senha: "))
  3. 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")

Exercícios relacionados