Computación:

Python

Índice

1. Introducción

Para darle un valor a una variable se hace:
var = string/int/float
strings en “ ”, carácteres en ‘ ’.

Funciones básicas para interactuar con la consola

print() # Imprime un string, con ',' se agrega un espacio y con '+' se juntan
print("Hola",'y'+"Adios") # Tendrá de output: Hola yAdios

input() # Entrada del usuario. Lee strings.
input("Tambien puede imprimir texto")

Convertir variable a int: int(variable)
A string: str(variable)
A float: float(variable)

De carácter a unicode:

ord() # ej. ord(‘A’) retorna 65.
De ASCII a carácter:
chr() # ej. chr(95) retorna ‘A’.

Operadores

  • Aritméticos (entre números): suma (+), resta (-), multiplicación (*), división (/), potencia (**), división entera (//), módulo/resto (%).

  • Relacionales (retorna True o False): menor (<), mayor (>), igual (==), menor o igual (<=), mayor o igual (>=), distinto (!=).

  • Bit a bit (binario): and (&), or (|), xor/ó (^), not (~), 1 binario a la derecha (>>), 1 binario a la izquierda (<<).

  • Asignación (aplica la operación): igual (=), sumar (+=), restar (-=), multiplicar (*=), dividir (/=), elevar (**=), dividir entero (//=), resto (%=), y (&=), o (|=), ó (^=), a la derecha (>>=), a la izquierda (<<=).

  • Lógicos: y (and), o (or), no (not).

  • Identidad (retorna True o False): ¿mismo objeto? (is), ¿no lo es? (is not).

  • Pertenencia (retorna True o False): ¿está en? (in), ¿no está en? (not in).

Números aleatorios:

Usar numpy:

from numpy import random

random.randint(número_menor, número_mayor) # Sólo enteros, por defecto parte desde el 0 hasta el número_mayor.
random.random() # Decimales entre 0 y 1.

Control de flujo:

if(___): # (“si [condición]…”)
elif(___): # (“o si [condición]…”)
else: # (“si no…”)

while(___): # (“mientras [condición]…”)

for(elemento in conjunto): # (“para cada elemento en el conjunto…”)
break # se sale del ciclo más próximo.
continue # se salta a la siguiente iteración (en while vuelve al principio).

while True: # es un ciclo infinito.

Listas:

conjunto = []
conjunto.append(valor) # Añade *valor* a conjunto.
conjunto.insert(índice, valor) # Añade *valor* a conjunto en la posición índice (desde el 0).
conjunto.extend(conjunto2) # Agrega los elementos de la lista conjunto2 al final de conjunto.
conjunto.pop(índice) # Elimina el elemento de la posición *índice* de conjunto. Si se usa .pop() elimina el último elemento.
conjunto.remove(*valor*) # Elimina el primer elemento igual a *valor* del conjunto.

conjunto.reverse() # Invierte el orden de conjunto.
conjunto.sort() # Ordena de menor a mayor o alfabéticamente los elementos de conjunto.
conjunto.sort(reverse=True) # Ordena de mayor a menor o alfabéticamente invertido.
conjunto.index(valor) # Retorna la posición del primer elemento igual a valor de conjunto.
conjunto.count(valor) # Retorna la cantidad de veces que valor está dentro del conjunto.
conjunto[índice] # Accede al elemento en la posición índice (desde el 0) de conjunto.
len(conjunto) # Retorna la longitud de la lista conjunto (conteo desde el 1).

Métodos de string:

len(string) # Retorna la longitud de string.

string.find(texto) # Retorna la posición que ocupa el substring igual a texto en el string.
string.find(texto, índice) # Busca la posición donde encuentra el substring igual a texto desde la posición índice.
string.lower() # Retorna el string pero con todas las letras en minúsculas.
string.upper() # Retorna el string pero con todas las letras en mayúsculas.

string.replace(texto, texto2) # Copia string reemplazando todas las apariciones de los substrings texto, por texto2.
string.split(‘char’) # Da una lista de strings dividiendo string por el delimitador char (puede ser un substring), no incluye el delimitador en la lista.
string.strip(‘char’) # Retorna una copia de string quitando cada ‘char’ presente en el texto original. char puede ser un substring.

Generador de listas:

list(enumerate(número_mayor, número_menor)) # Realiza una lista que enumera desde el número_menor al número_mayor.

# Se puede usar enumerate(número_mayor) para enumerar desde el 0 al número_mayor.
range(número) # Realiza una lista desde el 0, de uno en uno hasta número.

# No incluye a número en ella.
range(número_menor, número_mayor, incremento) # Cada elemento se encuentra separado por incremento unidades desde número_menor hasta lo más cercano a número_mayor.

# Al hacer
for x in range(num_menor, num_mayor):
# es lo mismo que
while x < num_mayor:
# Código
x += 1

PRO TIP: Usar for i in range(len(conjunto)): para acceder a cada índice (con el nombre de variable ‘i’) de conjunto para cada iteración.

Sublistas:

conjunto[índice_elemento_inferior:índice_elemento_superior] # Crea otra lista, copia de conjunto, pero a partir de la posición índice_elemento_inferior hasta índice_elemento_superior-1.

# Para hacer una copia se puede hacer
copia = conjunto[:]
conjunto[:-1], # copia conjunto desde el principio hasta el último elemento.
conjunto[-1:] # copia desde el último elemento hasta el primero.

conjunto = [[], []] # crea una lista de listas.
# Para acceder a un elemento se usa:
conjunto[índice_primera_lista][índice_segunda_lista]

# ej. Sea lista = [[‘a’,’b’,’c’],[‘d’,’e’,’f’]]
# print(lista[0][2]) ... Imprime “c”