s2Eva_IIT2014_T1 Multas por invadir carril metrovía

Propuesta de solución en Python:

# 2da Evaluación II Término 2014
# Tema 1. multa de metrovia
# Tarea: Calcular el total de multas a recaudar
import numpy

def multametrovia(veces,basico):
    pagar=0
    i=1
    while not(i>veces):
        if (i==1):
            pagar=basico+0.1*basico
        if (i>1):
            pagar=pagar+2*basico+0.1*basico
        i=i+1
    return(pagar)

# Tema 2. Programa para multas metrovia
# usa la funcion anterior
codigo=[]
# bloque de ingreso
n=int(input('cuantas infracciones: '))
i=0
while not(i>=n):
    placa=input('codigo: ')
    codigo.append(placa)
    i=i+1
# Marcar los únicos
unico=numpy.ones(n,dtype=int)
i=0
penultimo=n-1
while not(i>=penultimo):
    j=i+1
    while not(j>=n):
        if (codigo[i]==codigo[j]):
            unico[j]=0
        j=j+1
    i=i+1

# Copiar en nueva lista placas únicas
infractor=[]
i=0
while not(i>=n):
    if (unico[i]==1):
        infractor.append(codigo[i])
    i=i+1
# Contar los repetidos vector veces
m=len(infractor)
veces=numpy.zeros(m,dtype=int)
i=0
while not(i>=n):
    placa=codigo[i]
    # Busca en infractores
    j=0
    while not(j>=m):
        if (placa==infractor[j]):
            veces[j]=veces[j]+1
        j=j+1
    i=i+1
# multas
multas=numpy.zeros(m,dtype=float)
j=0
while not(j>=m):
    multas[j]=multametrovia(veces[j],354)
    j=j+1

# Tarea: total a recaudar por multas

# salida
print(unico)
print(infractor)
print('La lista de infractores y multas es:')
j=0
while not(j>=m):
    print(infractor[j],multas[j])
    j=j+1