1
resposta

Desafio hora da prática - Exercício 3

Olá pessoal,

Segue resultado referente ao exercício 3

3 - Para tratar uma quantidade de 15 dados de avaliações de pessoas usuárias de um serviço da empresa, precisamos verificar se as notas são válidas. Então, escreva um programa que vai receber a nota de 0 a 5 de todos os dados e verificar se é um valor válido. Caso seja inserido uma nota acima de 5 ou abaixo de 0, repita até que a pessoa usuária insira um valor válido.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Obrigada!

1 resposta

Olá, Vanessa. Como vai?

Parabéns pela resolução do desafio! Você aplicou uma lógica muito robusta ao combinar duas estruturas de repetição diferentes: o for para controlar a quantidade exata de iterações (os 15 dados) e o while para garantir a validação de entrada, o que é uma excelente prática de programação.

Analisando a imagem do seu código, gostaria de destacar alguns pontos positivos e oferecer uma dica para tornar seu script ainda mais profissional:

  • Validação Infinita: O uso do while (nota < 0) or (nota > 5) é perfeito porque impede que o programa avance com um dado incorreto, obrigando a correção imediata. Notei no seu log de execução que, na nota do usuário 6, o sistema funcionou exatamente como esperado ao rejeitar o valor "6".
  • F-strings: Você utilizou f-strings de forma muito precisa para identificar qual usuário estava sendo avaliado, o que melhora muito a experiência de quem está inserindo os dados.
  • Uso do range: O range(15) é a escolha ideal quando já sabemos o limite de repetições.

Uma pequena sugestão de melhoria:

No seu código, a mensagem de Verificação OK está dentro do bloco while. Se o usuário digitar a nota correta de primeira, o programa sai do while e não imprime essa confirmação específica para aquela nota. Para garantir que a confirmação apareça sempre, você pode mover o print da verificação uma linha para a esquerda, deixando-o fora do while, mas ainda dentro do for.

Veja como ficaria essa pequena mudança:

for dados in range(15):
    nota = float(input(f'Digite a nota do usuário {dados}: '))
    
    while (nota < 0) or (nota > 5):
        nota = float(input(f'Nota inválida, favor digitar novamente a nota {dados}: '))
    
    # Movendo para fora do while para imprimir sempre que a nota for validada
    print(f'Verificação OK para a nota do usuário {dados}: {nota}')

print('Todas as notas foram verificadas e são válidas.')

Essa estrutura garante que, independentemente de o usuário ter errado ou acertado de primeira, ele receba o feedback de que aquela nota foi processada com sucesso.

Espero que possa ter lhe ajudado!