Solucionado (ver solução)

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!

Solucionado
(ver solução)
1
resposta

[Projeto] Desafio - hora da prática - Questões 3, 4 e 5

Olá, segue resolução dos desafios.

  1. 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.
for num in range(15):
 nota = float(input(f'Insira a nota {num}:'))
while (nota < 0) or (nota > 5):
  nota = float(input(f'Nota inválida, insira novamente a nota da pessoa usuária {num}: '))
print('Verificação feita. Todas as notas são válidas')
  1. Desenvolva um programa que leia um conjunto indeterminado de temperaturas em Celsius e informe a média delas. A leitura deve ser encerrada ao ser enviado o valor -273°C.
temperatura = float(input('Insira a temperatura em Celsius: '))
contador = 0
soma = 0

while temperatura != -273:
    soma += temperatura
    contador += 1
    temperatura = float(input('Insira a temperatura em Celsius: '))

media = soma / contador

print(f'A média das temperaturas é: {media}')
  1. Escreva um programa que calcule o fatorial de um número inteiro fornecido pela pessoa usuária. Lembrando que o fatorial de um número inteiro é a multiplicação desse número por todos os seus antecessores até o número 1. Por exemplo, o fatorial de 5 é 5 x 4 x 3 x 2 x 1 = 120.
num = int(input('Informe um número inteiro: '))
fatorial = 1

i = num
while i > 0:
    fatorial *= i
    i -= 1

print(f'Fatorial de {num} é {fatorial}')
1 resposta
solução!

Ei! Tudo bem, estudante?

Parabéns pelo empenho em resolver o desafio de lógica de programação e praticar a manipulação de dados com as estruturas de repetição em Python! Essa dedicação é fundamental para quem deseja dominar a área de dados.

A sua lógica com while dentro do laço for está perfeita para forçar a digitação correta. O print final também avisa que a verificação acabou, mas ele roda uma única vez fora do laço, o que está certinho!

Na questão 4, mandou super bem ao atualizar a variável temperatura no final do bloco while, evitando um loop infinito. Sua lógica está funcional. Apenas como uma boa prática de segurança é que se o usuário digitasse -273 logo de primeira, o contador seria 0, o que geraria um erro de divisão por zero (ZeroDivisionError). Adicionar uma verificação condicional (if contador > 0:) antes de calcular a média tornaria seu programa à prova de falhas!

Continue praticando assim, ficou claro seu ótimo domínio de estruturas de repetição e fluxos condicionais. Qual dessas questões você achou mais desafiadora na hora de desenhar a lógica?

Conteúdos para complementar seus estudos
Esse conteúdo pode estar em inglês, para traduzi-lo utilize o tradutor automático do navegador ou clique com o botão direito do mouse sobre a página e selecione a opção Traduzir para o português.
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!