Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Dúvida Questão 4

Tenho uma dúvida ao comparar o meu código e da solução proposta:

Meu código:

contador = 0 
soma = 0

temperatura = float(input(f'Informe a temperatura {contador} em Celsius: '))

while temperatura != -273:
  contador += 1
  soma += temperatura
  temperatura = float(input(f'Informe a temperatura {contador} em Celsius: '))

media = soma / contador
print(f'Foram informados {contador}, cuja soma é {soma} temperaturas e a media é de {media}')

Solução proposta:

# coletamos a temperatura
temperatura = float(input('Insira a temperatura em Celsius: '))

# inicializamos uma contadora e soma para a média
contadora = 0
soma = 0

# nosso código executa sempre até o valor de temperatura for igual a -273
while temperatura != -273:
    # a soma é dada com a adição da temperatura à variavel soma
    soma += temperatura
    # contamos a quantidade de valores coletados através da contadora
    contadora += 1
    # coletamos novamente a temperatura
    temperatura = float(input('Insira a temperatura em Celsius: '))

media = soma / contadora

print(f'A média das temperaturas é: {media}')

A posição do contador e da soma são diferentes, isto pode interferir em algo? existe uma ordem correta?

Eu parti do principio que antes da pergunta nossa soma é 0 e não temos respostas ainda. Porém, na solução proposta isso é definido após a pergunta, o que me parece confuso, pois definir isto após uma resposta poderia invalidar a primeira resposta

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas
solução!

Bom dia! Tudo bem?

A sua percepção está muito boa!

Nesse caso, a diferença na posição do contador e da soma não interfere no resultado, porque em ambos os códigos essas variáveis são inicializadas antes do loop e só passam a ser atualizadas dentro dele.

Ou seja, não existe uma ordem obrigatória entre a leitura da primeira entrada e a inicialização das variáveis, desde que a soma e o contador sejam zerados antes de entrar no loop. O que muda é apenas a clareza do código! Mas sim, inicializar as variáveis antes de operações importantes tende a ser um padrão adotado por alguns programadores.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

muito obrigado pelo apoio!