'''
Autor: Daniel Vera
El sistema de vigilancia del transpote publico entrega
una lista de longitud n con el codigo de placa de los
vehiculos que invaden el carril exclusivo de este
sistema de transporte de pasajeros. La lista puede
contener codigos repetidos que corresponden a
vehiculos cometieron esta infraccion mas de una vez.
La multa por una infraccion es de $100, por dos
infracciones el valor se duplica, por tres se triplica,
etc. Escriba un programa que lea la lista de codigos y
muestre para cada uno , la cantidad de infracciones
cometidas y el total de la multa a pagar.
'''
if __name__ == "__main__":
#Lista de infractores Inicial
infractores = ['ABC123',
'ABC456',
'ABC789',
'ABC123',
'ABC456',
'ABC123']
print ('>>>> Lista de Infractores <<<<')
#Presenta Lista infractores
for i in range(len(infractores)):
print (infractores[i])
#Se crea una lista vacia que contendrá los resultados
resultado = [[]]
#Limpio la lista de resultados
resultado.clear()
print ('Procesando...')
#Recorrer lista de infractores
for x in range(len(infractores)):
#Encerar variable de cantidad de infracciones
cantInfrac = 0
#Pregunta si la placa ya fue evaluada (si ya esta en la lista de resultados)
if resultado.count([infractores[x],infractores.count(infractores[x])]) == 0:
#count(x) devuelve el número de veces que x aparece en la lista.
cantInfrac = infractores.count(infractores[x])
#Se agrega el resultado de la evaluacion en la lista de resultados
resultado.append([infractores[x], cantInfrac, cantInfrac * 100 ])
#Presentar resultado
for i in range(len(resultado)):
print (resultado[i])