len(X): devuelve la longitud de un vector o lista X.
sum(X): devuelve la suma de los elementos de la lista X.
max(X): devuelve el valor máximo almacenado en la lista X
sorted(X): devuelve una copia ordenada de la lista X.
a / b: el cociente entre a y b es un tentero si a y b son enteros y un real si a o b son reales
a % b: devuelve el resto de la división de a y b.
range(m, n): intervalo cerrado por la izquierda y abierto por la derecha, es decir, [m, m + 1, ..., n - 1].
int(s): transforma una cadena de texto s en un entero, por ejemplo int("123") es 123.
str(n): transforma un entero n en una cadena de texto, por ejemplo string(123) es "123".
int(x): devuelve la parte entera del número real x.
L = [] crea una lista vacía.
L.append(e): añade el elemento e al final de la lista mylist.
L[n] = value: asigna el valor value al elemento (n+1)-ésimo de la lista L o generará un error si la lista tiene menos de n + 1 elementos.
L[0] es el primer elemento de la lista L, L[1] el segundo,.. y L[-1]) = L[len(L) - 1] el último.
L[i:j] es la sublista que contiene sólo los elementos L[i],...L[j-1], por lo que L[1:] y L[:-1] representan la lista L sin el primer y último elemento respectivamente.
D = {} seguido de D[key] = value crea un diccionario D y asigna el resultado value a la clave key. Los valores y las claves pueden ser números, cadenas de texto u objetos de otro tipo (por ejemplo, vectores).
f = file(file_name) abre el archivo llamado file_name para leer o escribir en él.
Para usar una variable debe habérsele sido asignado antes un valor. Por ejemplo, "x = 2 * y" dará un error si no va precedido de alguna línea que empiece por "y = ..."
No debe confundirse la asignación (=) con la comparación (==).
Cuidado con el símbolo de "bloque subordinado" (:) y el sangrado: todas las instrucciones de un bloque deben estar alineadas, van precedidas de un línea que termina en dos puntos y desplazadas a la derecha respecto a esta última.
True, False y None son los tres valores posibles de una variable booleana.
De momento, en Python a / b tiene significados distintos en el caso en el que a y b son enteros y en el caso en el que a y b son reales. Por ejemplo 5 / 2 es 2 pero 5.0 / 2.0 es 2.5
La comparación de números reales está desaconsejada (puede dar lugar a errores por los redondeos necesarios por la precisión finita. Por ejemplo, sqrt(2) * sqrt(2) == 2 da False.
Las cadenas de texto van siempre entre comillas, pero no el nombre de las variables: saludo = "ciao"
La instrucción return termina la ejecución de una función, luego suele ser la última en la función y con el mismo nivel de sangrado que el bloque principal de la función. No es correcto, por tanto,
def sumatorio(n): # Suma naturales hasta n
s = 0
for val in range(n + 1):
s = s + n
return s # Wrong palce for return (always returns 0).
Una variable sólo almacena el último valor que se le ha asignado. No es correcta, por tanto, la siguiente función
def is_sorted(L): # check if L is sorted
for n in range(1, len(L)):
if L[n] == L[n - 1]:
res = True
else:
res = False
return res
El número de paréntesis que se abren en una expresión matemática debe coincidir con el número de paréntesis que se cierran. Si la expresión es demasiado larga, es mejor realizar el cálculo poco a poco. Por ejemplo, mejor que res = max(L[0] + f(L[1:]), L[-1] + f(L[:-1])), escribe opt1 = L[0] + f(L[1:]) seguido de opt2= L[-1] + f(L[:-1]) y, finalmente, res = max(opt1, opt2).
Observa que hay dos formas equivalentes de recorrer los elementos de una lista: for value in L y for pos in range(len(L)) seguido de value = L[pos]. Aunque la segunda requiere escribir más, permite consultar más fácilmente los elementos vecinos, por ejemplo, el elemento anterior L[pos -1]. En este último caso, es conveniente analizar si se producirá alguna consulta al elemento anterior al primero, ya que en Python L[-1] se interpreta como el último elemento de la lista por lo que no se generará ningún aviso ni señal de error.