Python es muy extenso, pero los imprescidibles son listas, bucles y condicionales.
Para mostrar por pantalla un mensaje.
print("Hello World")Para asignar valores a variables.
# cadena de caracteres
mensaje = "Hello World"
print(mensaje)
# número entero
a = 40
b = 2
z = a + b
print(z)Python es una calculadora supervitaminada.
# cálculos
suma = 39 + 3
resta = 15 - 13
multiplicacion = 12 * 2
division = 7 / 3
division_entera = 7 // 3
modulo = 7 % 3
# outputs
print(suma)
print(resta)
print(multiplicacion)
print(division)
print(division_entera)
print(modulo)Para escribir con el teclado y que la máquina lo almacene. Luego podremos usarlo y mostrarlo por pantalla si queremos.
nombre = input("Escribe tu nombre: ")
print("Hola", nombre, "!")Para ver el tipo de variable que estamos usando: entero, número con decimales, cadena de caracteres, lista, etc.
# cadena de caracteres
cadena = "Esto es una cadena de caracteres"
tipo_cadena = type(cadena)
print(tipo_cadena)
# número entero
entero = 42
tipo_entero = type(entero)
print(tipo_entero)
# número con decimales
flotante = 42.42
tipo_flotante = type(flotante)
print(tipo_flotante)
# lista
lista = [1,2,3,4,5,1,2,3,4,5]
tipo_lista = type(lista)
print(tipo_lista)Para ver la longitud de algo que se pueda recorrer: lista, cadena de caracteres, tupla, diccionario, etc. Para seleccionar un elemento por su índice
hechizo = "expeliarmus"
print(len(hechizo))
print(hechizo[0])
print(hechizo[1])
print(hechizo[-1])La salsa de python. Las listas no tienen límite.
# Ejemplos de listas.
numeros = [3,4,3,5,7,4,3,1,1]
ninjas = ['Naruto', 'Sakura', 'Sasuke', 'Hinata', 'Shikamaru']
mezcla = ['apple', 390, 876, 'orange', 'highway', 0.42, 87]
# Esto es una lista de listas que asignamos a la variable de nombre matriz
matriz = [[3,4,5], [1,2,3], [7,3,2]]
# Para seleccionar un elemento por su índice
print(ninjas[0])
print(ninjas[-1])
print(matriz[0])
# lista[start: stop: step]
print(ninjas[::2])
print(ninjas[1: 4])
print(ninjas[::-1])
# añadir un elemento nuevo al final de un lista
print(ninjas)
ninjas.append('Kakashi')
print(ninjas)
# sumar listas
estudiantes = ['Harry', 'Hermione', 'Ron']
profesores = ['Dumbledore', 'Severus', 'Hagrid']
print(estudiantes)
print(profesores)
hogwards = estudiantes + profesores
print(hogwards)
# media de un conjunto de números
numeros = [34, 12, 93, 783, 330, 896, 1, 55]
suma = sum(numeros)
longitud = len(numeros)
media = suma / longitud
print(media)
# mínimo y máximo
minimo = min(numeros)
maximo = max(numeros)
print(minimo)
print(maximo)
# Ordenación
numeros_ordenados = sorted(numeros)
print(numeros_ordenados)Los conjuntos son agrupaciones de elementos pero no se almacenan repetidos.
# lista con valores repetidos
lista_peliculas_cine = ['Alien', 'Terminator 2', 'Arma Letal', 'Alien', 'Terminator 2']
# conjunto con los valores de la lista sin repetir
opciones_peliculas = set(lista_peliculas_cine)
print(lista_peliculas_cine)
print(opciones_peliculas)Para obtener un dato a partir de otro. La película Alien tiene una valoración de 9.5.
# diccionario de película y valoración dada
valoraciones = {'Alien':9.5, 'Terminator 2':8.9, 'Arma Letal':7.3}
# algunos métodos de diccionarios
print(valoraciones['Alien'])
print(valoraciones.keys())
print(valoraciones.values())
print(valoraciones.items())Ser o no ser. True o False
print(5 + 5 == 10)
print('isla' != 'pantano')
print(100 >= 75)
print(93 <= 80)
# para ver si un elemento se encuentra en un conjunto o lista usaremos in
print(3 in [1,2,3,4,5])
print(3 not in [1,2,3,4,5])
print((5 + 5 == 10) and ('isla' != 'pantano'))
print((100 > 75) and (93 < 80))
print((100 > 75) or (93 < 80))
print((93 < 80) or (3 not in [1,2,3,4,5]))Para la toma de decisiones.
entrada = input("Introduce un número entero: ")
# convertimos la cadena de caracteres en entero. Esta operación se llama cast.
numero = int(entrada)
# Ahora veamos que has puesto
if numero == 42:
print("Has elegido 42")
elif numero < 42:
print("El número", numero, "es menor que 42")
else:
print("El número", numero, "es mayor que 42")Para automatizarlo todo.
# Primer ejemplo: range
for numero in range(10):
print(numero)
# Segundo ejemplo: range(start: stop: step)
for numero in range(5, 15, 2):
print(numero)
# Tercer ejemplo
ninjas = ['Naruto', 'Sakura', 'Sasuke', 'Hinata', 'Shikamaru']
for ninja in ninjas:
print(ninja)
# Cuarto ejemplo
valoraciones = {'Alien':9.5, 'Terminator 2':8.9, 'Arma Letal':7.3}
for peli in valoraciones.keys():
print("pelicula:" + peli)
for valoracion in valoraciones.values():
# str(x) -> convierte x a tipo cadena de caracteres para
# poder encadenarla a "valoraciones:"
print("valoraciones:" + str(valoracion))
for peli, puntuacion in valoraciones.items():
print(peli, "tiene una puntuacion de", puntuacion)
# Quinto ejemplo: cálculo de la suma
numeros = [34, 12, 93, 783, 330, 896, 1, 55]
total = 0
for numero in numeros:
total += numero
print(total)
# Sexto ejemplo:
lista = []
for x in range(2, 6):
numero = x**2
lista.append(numero)
print(lista)
# Séptimo ejemplo: Bucle doble
valoraciones = {'Alien':9.5, 'Terminator 2':8.9, 'Arma Letal':7.3}
estudiantes = ['Harry', 'Hermione', 'Ron']
for estudiante in estudiantes:
for peli, valoracion in valoraciones.items():
print(estudiante, "vió", peli, "y le puso una nota de", valoracion)Otros lenguajes menos amigables con los nuevos programadores usan llaves {} para encerrar código que debe ir dentro de un bloque. Si te has fijado cada vez que hemos usado for, if, else hemos puesto : y luego el resto del código va tabulado (indentado) a la derecha. Y así podemos anidar código.
# Este código da error de indentación. print(x) debería estár más a la derecha
for x in range(10):
print(x)Verás que Python lanza un error. Lo que debes hacer es tabular correctamente la línea indicada
# Este código tiene doble indentación
valoraciones = {'Alien':9.5, 'Terminator 2':8.9, 'Arma Letal':7.3}
estudiantes = ['Harry', 'Hermione', 'Ron']
for estudiante in estudiantes:
# en este nivel estamos dentro del primer for
print(">>> estamos dentro del primer for hablando de", estudiante)
for peli, valoracion in valoraciones.items():
# en este nivel estamos dentro del segundo for
print(">>> estamos dentro del segundo for hablando de", peli, "y de", estudiante)
print(estudiante, "vió", peli, "y le puso una nota de", valoracion)- Crear una lista del 1 al 10.
# version newbie
lst=[1,2,3,4,5,6,7,8,9,10]
print (lst)
# version pro
lst=[i for i in range(1, 11)]
print (lst)- Crear una nueva lista desde la primera de los numeros pares o impares.
# pares version newbie
lst=[1,2,3,4,5,6,7,8,9,10]
lst2=[]
for e in lst:
if e%2==0:
lst2.append(e)
print (lst2)
# pares version pro
lst2=[e for e in lst if e%2==0]
print (lst2)
# impares version newbie
lst2=[]
for e in lst:
if e%2==1:
lst2.append(e)
print (lst2)
# impares version pro
lst2=[e for e in lst if e%2==1]
print (lst2)- Cambiar pares/impares por 0/1.
# pares -> 0, impares -> 1
lst=[1,2,3,4,5,6,7,8,9,10]
# version newbie
lst3=[]
for e in lst:
if e%2==0:
lst3.append(0)
else:
lst3.append(1)
print (lst3)
# version pro
lst3=[0 if e%2==0 else 1 for e in lst]
print (lst3)
# pares -> 1, impares -> 0
# version newbie
lst3=[]
for e in lst:
if e%2==0:
lst3.append(1)
else:
lst3.append(0)
print (lst3)
# version pro
lst3=[1 if e%2==0 else 0 for e in lst]
print (lst3)- Sumar todos los elementos de la primera lista (dos versiones).
lst=[1,2,3,4,5,6,7,8,9,10]
# version 1
suma=0
for e in lst:
suma+=e
print (suma)
# version 2
suma=sum(lst)
print (suma)En la sección El problema está el enunciado y solución esperada de la antígua prueba de nivel. Ahora lo utilizaremos en Ironhack Madrid para que compruebes si has adquirido bien los conceptos de las secciones anteriores y si sabes ponerlos en práctica.
Una vez hayas resuelto el problema, envía tu solución a admissions de Ironhack Madrid (mad@ironhack.com) y reserva tu cita para la prueba técnica aquí.
Dada una lista de números enteros:
# variables
numeros = [1, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7]- Muestra por pantalla los números de esta lista que son mayores que 5. Deberás obtener a la salida lo siguiente:
7
6
6
7
6
6
7- Indica cuántos números de la lista son mayores que 5. Deberás obtener a la salida lo siguiente:
7- Muestra por pantalla una nueva lista que traduzca los elementos de la lista original:
- Los menores o iguales que 5 serán 0,
- Los mayores que 5 serán 1.
Deberás obtener a la salida lo siguiente:
[0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1]