# -*- coding: utf-8 -*-
"""
Created on Wed Mar 3 13:36:38 2021
@author: Gustavo Eduardo Marcatti
"""
###------------------------------------------------------------------------###
# Loop while
###------------------------------------------------------------------------###
# Implementação
A = 8000
B = 17000
taxa_a = 4 / 100
taxa_b = 1.5 / 100
ano = 0
while A < B:
A = int(A * (1 + taxa_a))
B = int(B * (1 + taxa_b))
ano += 1 # ano = ano + 1
print("Ano:", ano, "População A:", A, "População B:", B)
print("Quantidade de tempo para A >= B:", ano, "anos")
# Criação da função
def calc_pop(a, b, t_a, t_b):
ano = 0
while a < b:
a = int(a * (1 + t_a))
b = int(b * (1 + t_b))
ano += 1 # ano = ano + 1
print("Ano:", ano, "População A:", a, "População B:", b)
return(ano)
quant_anos = calc_pop(8000, 17000, 4/100, 1.5/100)
print("Quantidade de tempo para A >= B:", quant_anos, "anos")
###------------------------------------------------------------------------###
# Loop do while
###------------------------------------------------------------------------###
def calc_pop(a, b, t_a, t_b):
ano = 0
while True:
a = int(a * (1 + t_a))
b = int(b * (1 + t_b))
ano += 1 # ano = ano + 1
print("Ano:", ano, "População A:", a, "População B:", b)
if a >= b: break
return(ano)
quant_anos = calc_pop(8000, 17000, 4/100, 1.5/100)
print("Quantidade de tempo para A >= B:", quant_anos, "anos")
###------------------------------------------------------------------------###
# Loop for para simular do while - Cuidado!! Gambiarra
###------------------------------------------------------------------------###
def calc_pop(a, b, t_a, t_b):
for ano in range(1, 10000000000000): # número grande
a = int(a * (1 + t_a))
b = int(b * (1 + t_b))
print("Ano:", ano, "População A:", a, "População B:", b)
if a >= b: break
return(ano)
quant_anos = calc_pop(8000, 17000, 4/100, 1.5/100)
print("Quantidade de tempo para A >= B:", quant_anos, "anos")
###------------------------------------------------------------------------###
# Extra: plotar o aumento das populações em um gráfico
###------------------------------------------------------------------------###
import matplotlib.pyplot as plt
%matplotlib qt
A = 8000
B = 17000
taxa_a = 4 / 100
taxa_b = 1.5 / 100
ano = 0
lista_a = []
lista_b = []
lista_ano = []
while A < B:
lista_a.append(A)
lista_b.append(B)
lista_ano.append(ano)
A = int(A * (1 + taxa_a))
B = int(B * (1 + taxa_b))
ano += 1 # ano = ano + 1
print("Ano:", ano, "População A:", A, "População B:", B)
lista_a.append(A)
lista_b.append(B)
lista_ano.append(ano)
print("Quantidade de tempo para A >= B:", ano, "anos")
plt.plot(lista_ano, lista_a, lista_ano, lista_b, marker='o')
plt.axvline(31, color = 'red', linestyle = 'dashed' )