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

Exercício - não entendi a solução *= 1 + taxa

Gostaria de uma explicação melhor pra conseguir chegar na lógica de incremento das colônias, " *= 1 + taxa". Pq precisa do 1? Obrigada

  1. Escreva um programa para calcular quantos dias levará para a colônia de uma bactéria A ultrapassar ou igualar a colônia de uma bactéria B, com base nas taxas de crescimento de 3% e 1,5% respectivamente. Considere que a colônia A inicia com 4 elementos e a colônia B com 10 elementos.

número inicial de bactérias

colonia_a = 4 colonia_b = 10

taxas de crescimento das colônias

taxa_a = 0.03 taxa_b = 0.015

contador de dias

dias = 0

A condição que finaliza o laço é o caso em que

a colônia A ultrapasse a colônia B

while colonia_a <= colonia_b:

usamos um operador de atribuição com multiplicação

colonia_a *= 1 + taxa_a colonia_b *= 1 + taxa_b

contamos o ano para cada iteração

dias += 1

resultado final

print(f'Irá levar {dias} dias para a colônia A ultrapassar a colônia B.')

2 respostas
solução!

Olá!

colonia_a *= 1 + taxa_a é equivalente a colonia_a = colonia_a * (1 + taxa_a), que por sua vez é igual a colonia_a = colonia_a + taxa_a * colonia_a. Ou seja, estás atualizando o valor da colonia com o resultado proveniente do acréscimo de acordo com a taxa de crescimento.

Espero ter ajudado

Obrigada