Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] 04_Estrutura de Repetição - Atividade 3 e 4

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. ( c/ while)
# Definindo o número total de pessoas (candidatos) e a variável de controle para iniciar a contagem
pessoas = 15  # Número de candidatos
inicio = 1  # Contador para o número do candidato (inicia com 1)
notas = []  # Lista para armazenar as notas dos candidatos

# Laço principal que irá rodar até que todas as 15 notas sejam coletadas
while(inicio <= pessoas):
    try:
        # Solicita ao usuário que insira a nota do candidato atual
        nota = int(input(f'De 0(zero) à 5, informe a nota do Candidato {inicio}: '))
        
        # Verifica se a nota está dentro do intervalo válido (0 a 5)
        if nota >= 0 and nota <= 5:
            notas.append(nota)  # Adiciona a nota válida à lista
            inicio += 1  # Incrementa o contador para o próximo candidato
        else:
            # Caso a nota seja inválida (fora do intervalo 0-5)
            print('A nota informada não é válida!')
        
    except ValueError:
        # Se o usuário não digitar um número inteiro (exemplo: digitar texto), captura o erro
        print('A informação digitada é inválida!')  # Informa ao usuário sobre o erro
        pass  # O código continua pedindo a entrada até que seja válida

# Exibindo as notas informadas de cada candidato
print('Notas informadas:')
for i in range(len(notas)):  # Itera sobre o índice de cada nota na lista
    # Exibe a nota do candidato, considerando que o índice começa em 0
    print(f'Candidato {i+1}: {notas[i]}')

## 4) 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.
tempcelsus = []
zeroabsoluto = -273

# Loop principal que começa perguntando se o usuário quer iniciar o programa
while True:
    inicio = input('Deseja iniciar o programa? [s/n] ').lower()
    if inicio == 'n':
        print("Programa finalizado.")
        break
    elif inicio == 's':
        # Loop para inserir as temperaturas
        while True:
            try:
                temperatura = float(input('Digite a temperatura em Celsius: '))
                
                if temperatura == zeroabsoluto:
                    print("Zero absoluto atingido! Finalizando o programa.")
                    # Se o usuário digitar o zero absoluto, o programa termina
                    break
                elif temperatura < zeroabsoluto:
                    print('A temperatura não pode ser menor que zero absoluto.')
                    continue
                else:
                    tempcelsus.append(temperatura)
                
            except ValueError:
                print('Por favor, insira um número válido.')

        # Verifica se há temperaturas registradas para calcular a média
        if len(tempcelsus) > 0:
            tempmediacelsus = sum(tempcelsus) / len(tempcelsus)
            print(f'A média das temperaturas em Celsius é: {tempmediacelsus:.2f}°C')

            for i in range(len(tempcelsus)):
                print(f'Temperatura {i + 1}: {tempcelsus[i]}°C')
        else:
            print("Nenhuma temperatura foi registrada.")
        break  # Sai do loop principal após o término
1 resposta
solução!

Olá, Marinaldo, como vai?

Seus códigos estão corretos e bem estruturados. No exercício 3, você implementou adequadamente a validação das notas usando um loop while com tratamento de erros para entradas inválidas. No exercício 4, o programa lê temperaturas até que seja inserido -273°C e calcula a média corretamente, com verificações para valores abaixo do zero absoluto.

Obrigado por compartilhar suas soluções. Continue praticando e explorando diferentes abordagens. O fórum está à disposição para dúvidas.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!