Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

[Dúvida] Pergunta

Não consegui fazer essa, tem como me enviar mais exercicio nessse estilo?

"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."

2 respostas

Olá Edineres.
Tudo bem?
Esse tipo de exercício é ótimo para praticar while, for, validação de entrada e condições (if).
Vou te passar vários exercícios parecidos para você treinar bastante.
Exercício 1:
peça a idade do usuário. Enquanto a idade for menor que 0 ou maior que 120, peça novamente. A idade válida deve estar entre 0 e 120.
Exercício 2:
peça uma nota ao usuário. A nota deve estar entre 0 e 10. Enquanto estiver fora desse intervalo, peça novamente.
Exercício 3:
crie uma senha fixa:

senha_correta = "python123"

Peça a senha ao usuário até ele acertar. Quando acertar, exiba:

print("Acesso liberado!")

Exercício 4:
peça um nome de usuário e uma senha. O sistema não deve aceitar que a senha seja igual ao nome. Enquanto forem iguais, peça novamente.
Exercício 5:
peça um número inteiro. Enquanto o número for negativo, peça novamente.
Exercício 6:
use for para mostrar os números de 1 até 10.
Exercício 7:
peça um número e mostre a tabuada dele de 1 a 10.
Exemplo:

5 x 1 = 5
5 x 2 = 10

Exercício 8:
peça 5 números ao usuário usando for. No final, mostre a soma total.
Exercício 9:
peça uma palavra. Use for para contar quantas letras ela possui.
Exercício 10:
crie um sistema de login com usuário e senha corretos. O usuário terá apenas 3 tentativas. Se acertar, exiba:

print("Login realizado!")

Se errar 3 vezes:

print("Conta bloqueada!")

Exercício 11:
crie um menu simples:

1 - Ver saldo
2 - Depositar
3 - Sair

Enquanto o usuário não escolher 3, o menu deve continuar aparecendo.
Exercício 12:
peça nome, idade e senha. O nome deve ter pelo menos 3 caracteres, a idade deve estar entre 0 e 120 e a senha deve ter no mínimo 6 caracteres. Repita até tudo estar válido.
Exercício 13:
faça um sistema que peça o nome do leitor e a quantidade de livros lidos no mês. Não aceite números negativos. Depois mostre:

  • “Vamos começar a ler!” para 0 livros
  • “Bom começo!” para 1 até 4 livros
  • “Excelente leitor!” para 5 livros ou mais
    Treinar exercícios assim ajuda muito a entender quando usar while, for e validações de entrada, além de melhorar bastante sua lógica de programação.
    Tente fazer os exercicios um a um com calma e me envia um feedback.
    Avise alguma duvida.
    Bons estudos.

Agora vamos resolver o exercicio que voce teve duvidas passo a passo:
Primeiro precisamos entender o problema.
O programa deve pedir: um nome de usuário, uma senha.
Mas só pode aceitar usuário com pelo menos 5 caracteres, senha com pelo menos 8 caracteres.
Para resolver isso, vamos usar: input() para receber os dados, len() para contar caracteres, while para repetir enquanto estiver inválido, if para verificar as regras.
Passo 1: pedir o nome de usuário

usuario = input("Digite um nome de usuário: ")

Passo 2: verificar se o usuário tem menos de 5 caracteres
A função len() conta quantos caracteres existem no texto.
Exemplo:
len(usuario)
Então fazemos:

while len(usuario) < 5:    
    print("O usuário deve ter pelo menos 5 caracteres.")    
    usuario = input("Digite novamente: ")

O que acontece aqui:
enquanto o tamanho do usuário for menor que 5 o programa mostra uma mensagem, pede outro valor.
Quando o usuário digitar corretamente, o while para.
Passo 3: pedir a senha

senha = input("Digite uma senha: ")

Passo 4: validar a senha

while len(senha) < 8:    
    print("A senha deve ter pelo menos 8 caracteres.")    
    senha = input("Digite novamente: ")

Aqui acontece a mesma lógica:
enquanto a senha tiver menos de 8 caracteres o programa continua pedindo outra senha.
Passo 5: mostrar mensagem final
Depois que tudo estiver válido:

print("Cadastro realizado com sucesso!")

Código completo:

usuario = input("Digite um nome de usuário: ")

while len(usuario) < 5:
    print("O usuário deve ter pelo menos 5 caracteres.")
    usuario = input("Digite novamente: ")

senha = input("Digite uma senha: ")

while len(senha) < 8:
    print("A senha deve ter pelo menos 8 caracteres.")
    senha = input("Digite novamente: ")

print("Cadastro realizado com sucesso!")

A lógica principal desse exercício é: “enquanto estiver inválido, continue pedindo novamente”.
Esse é um dos usos mais comuns do while em Python.
Faça os testes, modifique o código e observe o comportamento.
Qualquer duvida avise ai.
Bons estudos.