All pastes #1576847 Raw Edit

Vectores n-dimensionales

public python v1 · immutable
#1576847 ·published 2009-09-23 18:42 UTC
rendered paste body
#!/usr/bin/env python################################################################################   Vectores n-dimensionales#   Modulo que define funciones de lectura/escritura y de operaciones entre una#   pareja de vectores n-dimensionales.#   Copyright (C) %Y Juan Riquelme a.k.a Soulchainer (J.R.G)#   <soulchainer@soulchainer.net>###############################################################################from math import sqrt# Funciones de entrada/salidadef v_lee_vector(n):    """    Devuelve un vector (de longitud n) leído de teclado que se pide al usuario.    """    if n >= 0:        vector = []        for i in range(n):            vector.append(float(input('Coordenada %d del vector: ' % i)))        return vectordef v_muestra_vector(v):    """    Muestra por pantalla el vector v con la notación (a, b, c, ..., n).    No devuelve nada.    """    print('({0})'.format(('{0}'.format(v))[1:-1]))# Funciones de cálculodef v_longitud(v):    """    Devuelve la longitud del vector v    """    if not v:        return None    else:        return sqrt(sum([i ** 2 for i in v]))def v_suma(u, v):    """    Devuelve el vector resultante de sumar los vectores u y v.    Deben ser vectores de la misma dimensión. Sino, devolverá None.    """    dimension = len(u)    if len(v) == dimension:        return [u[i] + v[i] for i in range(len(u))]    return Nonedef v_producto_escalar(u, v):    """    Devuelve el escalar resultante del producto escalar de u por v.    Deben ser vectores de la misma dimensión. Sino, devolverá None.    """    if not u or not v:        return []    dimension = len(u)    if len(v) == dimension:        escalar = 0        for i in range(dimension):            escalar += u[i] * v[i]        return escalar    return None