Esempio n. 1
0
def acumula(fichero: str,
            delimiter: str = ',',
            encoding: str = 'utf-8',
            inicial: R = '',
            f: Callable[[R, E], R] = lambda r, e: r + e) -> R:
    lineas = lineas_de_csv(fichero, delimiter=delimiter, encoding=encoding)
    r: R = inicial
    for ln in lineas:
        if len(ln) > 0:
            for e in ln:
                r = f(r, e)
    return r
Esempio n. 2
0
 def data_of_file(fichero: str) -> Red:
     estaciones = [
         Estacion.parse(x) for x in lineas_de_csv(
             fichero, delimiter=",", encoding='cp1252')[1:]
     ]
     checkArgument(
         len(estaciones) == len({e.numero
                                 for e in estaciones}),
         'Hay numeros de estacion repetidos')
     pnc = {e.nombre_compuesto: e for e in estaciones}
     pn = {e.numero: e for e in estaciones}
     estaciones.sort()
     return Red.of(estaciones, pnc, pn)
Esempio n. 3
0
 def ruta_of_file(fichero: str) -> Ruta:
     marcas = [
         Marca.parse(x) for x in lineas_de_csv(fichero, delimiter=",")
     ]
     return Ruta(marcas)
Esempio n. 4
0
def ej2(fichero: str) -> Iterable[int]:
    it1 = lineas_de_csv(fichero)
    it2 = flat_map(it1)
    it3 = map(lambda e: int(e), it2)
    it4 = distinct(it3)
    return it4
Esempio n. 5
0
def sum_file(file:str)->int:  
    itf =  lineas_de_csv(file) 
    it2 = (int(e) for e in flat_map(itf))
    return sum(it2)
Esempio n. 6
0
    return a


def suma_aritmetica(a: int, b: int, c: int) -> int:
    s = 0
    for e in range(a, b, c):
        s = s + e
    return s


if __name__ == '__main__':
    r = acumula("../../../resources/datos_2.txt",
                encoding='ISO-8859-1',
                inicial=set(),
                f=lambda r, e: r | {int(e)})
    print(r)
    print('../../../resources/datos_2.txt'.split('/'))
    print(
        re.split(
            '[ ,]',
            'En un lugar de la Mancha, de cuyo nombre no quiero acordarme'))
    print(mcd(135, 45))
    print(range(23, 45))
    print("La suma de la pregresion aritmetica de {0} a {1}\
con razon {2} es {3}" \
    .format(2,500,7,suma_aritmetica(2,500,7)))
    r = [random.randint(0, 100) for _ in range(50)]
    print(sorted(Counter(r).items(), reverse=True))
    it = lineas_de_csv("../../../resources/datos_2.txt", encoding='ISO-8859-1')
    print(Counter(flat_map(it)).most_common(5))