Programa colecciones
Enviado por Luis Alvarez Bolaños • 3 de Agosto de 2018 • Práctica o problema • 3.225 Palabras (13 Páginas) • 105 Visitas
import numpy as np
ar=open('vehiculos.csv','r',encoding='latin-1')
ar.readline()
barriles_anio=[]
mpg_ciudad=[]
gramos_milla_co2=[]
mpg_combinado=[]
cilindrada=[]
mpg_carretera=[]
marca=[]
europeas=["Volkswagen","Volvo","Audi","BMW","Mercedes-Benz","Jaguar","Porsche","Ferrari"]
americanas=["Dodge","Cadillac","Chevrolet","Chrysler","Ford","Pontiac","GMC"]
asiaticas= ["Hyundai","Subaru","Toyota","Nissan","Infiniti","Lexus","Mazda","Suzuki"]
marcasxRegion=europeas+americanas+asiaticas
indicadores=["promedio_barriles_año","promedio_mpg_ciudad","promedio_gramos_milla_co2","promedio_mpg_combinado","promedio_mpg_carretera","promedio_costo_anual_gasolina","promedio_cilindrada"]
promediosxIndicadores=[]
for i in range(len(marcasxRegion)):
promediosxIndicadores.append([0,0,0,0,0,0,0,0])
for linea in ar:
lista=linea.split(';')
if lista[4]==''or lista[4]=='NA':
lista[4]="0"
if lista[5]==''or lista[5]=='NA':
lista[5]="0"
barriles_anio.append(float(lista[0]))
mpg_ciudad.append(float(lista[1]))
gramos_milla_co2.append(float(lista[2]))
mpg_combinado.append(float(lista[3]))
cilindrada.append(float(lista[5]))
mpg_carretera.append(float(lista[9]))2
marca.append(lista[10])
indice=marcasxRegion.index(lista[10])
promediosxIndicadores[indice][0]+=float(lista[0])
promediosxIndicadores[indice][1] += float(lista[1])
promediosxIndicadores[indice][2] += float(lista[2])
promediosxIndicadores[indice][3] += float(lista[3])
promediosxIndicadores[indice][4] += float(lista[9])
promediosxIndicadores[indice][5] += float(lista[7])
promediosxIndicadores[indice][6] += float(lista[5])
promediosxIndicadores[indice][7] += 1
print(promediosxIndicadores)
print('Sistema de emisiones')
matriz=np.zeros((len(marcasxRegion),len(indicadores)),float)
for i in range(len(promediosxIndicadores)):
indicadoresxMarca = promediosxIndicadores[i]
cant=indicadoresxMarca[-1]
for j in range(7):
matriz[i][j]=indicadoresxMarca[j]/cant
#RECORTES DE LA MATRIZ
europa=matriz[:len(europeas),:]
america=matriz[marcasxRegion.index(americanas[0]):marcasxRegion.index(americanas[-1])+1,:]
asia=matriz[marcasxRegion.index(asiaticas[0]):marcasxRegion.index(asiaticas[-1])+1,:]
regiones=["europa","americas","asia"]
opcion=0
marcas_u=[]
for elem in marca:
if elem.lower() not in marcas_u:
marcas_u.append(elem.lower())
while opcion!="7":
print('\n\n1. Promedio de consumo por marca')
print('2. Emisiones de CO2 por rango de cilindrada y marca')
print('3. Máximo consumo de barriles por año y rango de cilindrada')
print("4. Promedio de indicador por region")
print("5. Marcas indicador y condicion")
print("6. Relacion cilindrada / co2")
print('7. Salir')
opcion=input('Elija una opcion: ')
if opcion=="1":
valor=1
marcas=""
while valor!=0:
lista_1=[]
marcas=input('Marcas: ').lower()
marcas=marcas.split(',')
for marca_1 in marcas:
if marca_1 not in marcas_u:
lista_1.append(marca_1)
valor=len(lista_1)
tipoConsumo=input('Tipo Consumo: ').upper()
while tipoConsumo!='H' and tipoConsumo!='C' and tipoConsumo!='CO':
tipoConsumo=input('Consumo invalido, ingrese un tipo valido: ')
total = 0
numero = 0
indice=0
if tipoConsumo=='H':
tipoConsumo2='carretera'
for marca_2 in marca:
if marca_2.lower() in marcas:
numero+=1
total+=mpg_carretera[indice]
indice+=1
else:
indice+=1
elif tipoConsumo=='C':
tipoConsumo2='ciudad'
for marca_2 in marca:
if marca_2.lower() in marcas:
numero+=1
total+=mpg_ciudad[indice]
indice+=1
else:
indice+=1
else:
tipoConsumo2='consumo combinado'
for marca_2 in marca:
if marca_2.lower() in marcas:
numero+=1
total+=mpg_combinado[indice]
indice+=1
else:
indice+=1
strMarcas=''
for marca_3 in marcas:
if len(marcas)!=1:
if marcas[-1]!=marca_3 and marcas[-2]!=marca_3:
strMarcas+=marca_3.title()+', '
elif marcas[-2]==marca_3:
strMarcas+=marca_3.title()
else:
strMarcas+=' y '+marca_3.title()
else:
strMarcas=marca_3.title()
promedio=total/numero
print('El consumo promedio en %s para todos los vehiculos %s es de %d millas por galon'%(tipoConsumo2,strMarcas,promedio))
print()
elif opcion=="2":
valor = 1
marcas = ""
while valor != 0:
lista_1 = []
marcas = input('Marcas: ').lower()
...