Esse primeiro jeito que fiz deu certo, só que gostaria de saber onde poderia arrumar meu segundo código para realizar o mesmo calculo usando 1 for para varrer a lista de anos e outro for para a lista de km.
Ele começa certo, varre a primeira idade e a primeira Km certa, só que quando uso a função "break", ele finaliza o laço aninhado mais interno e da continuidade ao laço da idade me dando o valor certo de km. O problema começa ai, ele sempre me entrega a primeira "km 44410", tem algum meio de arrumar isso?
Sei que poderia usar a biblioteca numpy para realizar de forma mais fácil o código, mas estou querendo dar uma praticada na lógica de programação. Segue em anexo os dois códigos.
km = [44410., 5712., 37123., 0., 25757.]
anos = [2003, 1991, 1990, 2019, 2006]
km_médio = []
i=0
for lista in anos:
idade = 2019 - lista
print (idade)
if i <= len(km):
if idade !=0 and km[i] !=0:
km_média = km[i] / idade
km_médio.append(km_média)
i+=1
else:
km_média = 0
km_médio.append(km_média)
i+=1
print(km_médio)
km = [44410., 5712., 37123., 0., 25757.]
anos = [2003, 1991, 1990, 2019, 2006]
km_médio = []
for lista in anos:
idade = 2019 - lista
print(idade)
for km_1 in km:
print("km", km_1)
if idade != 0 and km_1 != 0:
km_média = km_1 / idade
print(km_média)
km_médio.append(km_média)
break
else:
km_média = 0
print(km_média)
km_médio.append(km_média)
break
print(km_médio)