s2Eva_IIT2010_T3 Validar registro de revocatoria en CNE

Ejercicio: 2Eva_IIT2010_T3 Validar registro de revocatoria en CNE

propuesta de solución en Python, contiene tarea.

Ejemplo:

cuantos ciudadanos en padrón: 5
cédula : 3
cédula : 2
cédula : 1
cédula : 4
cédula : 5
cuantos se quejan: 3
cedula: 2
cedula: 2
cedula: 3
los que si votan son: 2
[2 3]
>>> 

Instrucciones:

# 2da Evaluación II Término 2010
# Tema 2. Mostrar valores únicos en vector
# Tema 3. Validar registro de revocatoria en CNE

import numpy as np

def unicos(vector):
    n = len(vector)
    vale = np.ones(n, dtype= int)
    i = 0
    while not(i>=(n-1)): #penultimo
        j = i+1
        while not(j>=n): # ultimo
            if (vector[i] == vector[j]):
                vale[j] = 0
            j = j+1
        i = i+1

    # obtiene los únicos
    sinrepetir =[]
    i = 0
    while not(i>=n):
        if (vale[i] == 1):
            sinrepetir.append(vector[i])
        i= i+1
    sinrepetir = np.array(sinrepetir)
    return(sinrepetir)

def registrados(padron,unicos):
    # PROCEDIMIENTO
    n = len(padron)
    m = len(unicos)

    vale = np.ones(m,dtype=int)
    sivotan = []
    i = 0
    while not(i>=m):
        if not(unicos[i] in padron):
            vale[i] = 0
        if (unicos[i] in padron):
            sivotan.append(unicos[i])
        i = i+1
    sivotan = np.array(sivotan)
    return(sivotan)

# PROGRAMA QUE USA LAS FUNCIONES

# INGRESO
n = int(input('cuantos ciudadanos en padrón: '))
padron = []
i = 0
while not(i>=n):
    cedula = int(input('cédula : '))
    padron.append(cedula)
    i = i+1

m = int(input('cuantos se quejan: '))
sequejan =[]
j = 0
while not(j>=m):
    cedula = int(input('cedula: '))
    sequejan.append(cedula)
    j = j+1

# PROCEDIMIENTO
sinrepetir = unicos(sequejan)
sivotan = registrados(padron,sinrepetir)
k = len(sivotan)

# Tarea: Verificar si llegan al 10% del padrón

# SALIDA
print('los que si votan son:',k)
print(sivotan)