Introducción a Lenguajes de Programación
Introducción a Lenguajes de Programación
¿Qué es Programar?
● Dar instrucciones: Es el acto de escribir instrucciones específicas para que una computadora
realice una tarea.
● Resolver problemas: Se trata de definir y automatizar la solución a un problema mediante
código.
● Comunicación con la máquina: Es una forma de comunicarse con la computadora en un
lenguaje que ella pueda entender.
● Creación de software: El resultado de programar es la creación de software, aplicaciones,
herramientas, etc.
● Proceso creativo: Implica planificación, diseño, escritura, prueba y mantenimiento del
código.
Paradigma de Programación
● Estilos de programación: Son diferentes enfoques o estilos para escribir código y organizar la
estructura de un programa.
● Formas de pensar: Representan diferentes maneras de conceptualizar y resolver problemas
mediante la programación.
● Influencia en la estructura: El paradigma elegido influye en cómo se organiza el código, cómo
se manejan los datos y cómo interactúan las diferentes partes del programa.
● Ejemplos principales:
○ Imperativo: Se enfoca en dar una secuencia de comandos a la computadora (ej: C).
○ Orientado a Objetos (OOP): Organiza el código en "objetos" que tienen datos y
comportamientos (ej: Python, Java).
○ Funcional: Se basa en la aplicación de funciones matemáticas (ej: Haskell).
○ Lógico: Se basa en reglas de lógica formal (ej: Prolog).
Algoritmos. ¿Qué son? Tipos
● Secuencia de pasos: Un algoritmo es una secuencia finita y ordenada de pasos para resolver un
problema o realizar una tarea.
● Entrada, proceso, salida: Generalmente, un algoritmo recibe una entrada, la procesa siguiendo
los pasos definidos, y produce una salida.
● Características:
○ Finito: Debe tener un número limitado de pasos.
○ Definido: Cada paso debe ser claro y sin ambigüedad.
○ Efectivo: Cada paso debe poder ser realizado.
○ Entrada: Puede tener cero o más entradas.
○ Salida: Debe producir al menos una salida.
● Tipos (según su naturaleza o propósito):
○ Algoritmos de búsqueda: Para encontrar un elemento específico en un conjunto de datos
(ej: búsqueda lineal, búsqueda binaria).
○ Algoritmos de ordenamiento: Para organizar elementos en un orden específico (ej:
bubble sort, merge sort).
○ Algoritmos de grafos: Para trabajar con estructuras de datos que representan relaciones
(ej: Dijkstra, BFS).
○ Algoritmos de inteligencia artificial: Para simular procesos cognitivos (ej: aprendizaje
automático, redes neuronales).
○ Algoritmos de optimización: Para encontrar la mejor solución a un problema (ej:
algoritmos genéticos).
○ Algoritmos probabilísticos: Utilizan la aleatoriedad en sus pasos.
○ Algoritmos deterministas: Siempre producen la misma salida para la misma entrada.
Variables y Operadores:
● Variables:
○ Almacenan datos: Son nombres que referencian ubicaciones en la memoria donde se
guardan valores.
○ Atributos esenciales:
■ Nombre: Identificador único de la variable.
■ Tipo de Dato: Clasificación del tipo de información que puede almacenar (ej:
número, texto, booleano).
■ Valor Inicial: El valor que se le asigna a la variable al ser creada (opcional).
■ Alcance (Scope): La región del código donde la variable es accesible.
■ Dirección de Memoria: La ubicación física donde se almacena el valor
(generalmente manejado automáticamente).
● Operadores:
○ Símbolos para acciones: Son símbolos especiales que realizan operaciones en variables
y valores.
○ Tipos comunes:
■ Aritméticos: (+, -, *, /, %, **, //) para cálculos matemáticos.
■ De Asignación: (=, +=, -=, *=, /=, %=, **=, //=) para asignar valores a variables.
■ De Comparación: (==, !=, >, <, >=, <=) para comparar valores.
■ Lógicos: (and, or, not) para combinar o negar condiciones booleanas.
■ De Identidad: (is, is not) para verificar si dos variables referencian el mismo
objeto.
■ De Pertenencia: (in, not in) para verificar si un valor existe en una secuencia.
■ Bitwise: (&, |, ^, ~, <<, >>) para operaciones a nivel de bits.
Estructura de un Programa:
● Conjunto de instrucciones: Un programa es una secuencia lógica de instrucciones que la
computadora ejecuta.
● Organización: Generalmente incluye:
○ Declaración de variables: Definición de las variables que se utilizarán.
○ Entrada de datos: Formas de recibir información del usuario o de otras fuentes.
○ Procesamiento de datos: Manipulación y cálculo de la información.
○ Salida de resultados: Mostrar información al usuario o enviarla a otros destinos.
○ Estructuras de control: (if/else, bucles for/while) para dirigir el flujo de ejecución.
○ Funciones/Módulos: Bloques de código reutilizable para organizar y modularizar el
programa.
Variables en PYTHON:
● Tipado dinámico: El tipo de dato de una variable se determina en tiempo de ejecución basado
en el valor que se le asigna. No necesitas declarar explícitamente el tipo.
● Asignación simple: Se usa el operador = para asignar valores a las variables.
● Nombres: Deben seguir ciertas reglas (ej: empezar con letra o guion bajo, no usar palabras
clave).
● Alcance: El alcance de una variable depende de dónde se define (local, global).
● Gestión de memoria automática: Python gestiona la asignación y liberación de memoria
automáticamente (garbage collection).
Pseudocódigo:
1. Descripción Narrativa:
● Definición: Explicación escrita en lenguaje común, similar a una receta o manual de
instrucciones.
● Ventaja: Fácil de entender para principiantes.
● Desventaja: Puede ser ambigua e imprecisa.
● Ejemplos: Receta de pastel, cambiar una llanta, tomar un baño, calcular el promedio de un
alumno.
3. Pseudocódigo:
● Definición: Mezcla de español y lenguaje de programación que describe algoritmos de forma
detallada.
● Ventaja: Muy similar al código real, facilitando la transición a la programación.
● Desventaja: Puede ser más complejo para principiantes.
● Características: Declaraciones de variables y uso de palabras clave como "Si", "Entonces" y
"Sino".
Sentencia SI (IF):
Operador Ternario:
Contadores:
Acumuladores:
Diferencia Clave:
Operaciones Comunes:
● [indice]: Acceder a un carácter.
● len(): Obtener la longitud (número de caracteres).
● +: Concatenar (unir) strings.
● [:]: Obtener subcadenas (slicing).
● in, not in: Verificar si una subcadena existe.
● format(), f-strings: Insertar valores en strings.
● .upper(), .lower(): Cambiar a mayúsculas/minúsculas.
● .split(): Dividir el string en una lista.
● .replace(): Reemplazar una parte del string.
● .strip(), .lstrip(), .rstrip(): Eliminar espacios en blanco.
● .find(), .index(): Buscar la posición de una subcadena.
● .startswith(), .endswith(): Verificar prefijos/sufijos.
● .isdigit(), .isalpha(), etc.: Comprobar el tipo de caracteres.
En esencia, los strings son texto con el que puedes interactuar y manipular de diversas maneras en
programación.
Listas (list):
● Son secuencias ordenadas de elementos.
● Son modificables (mutables): puedes cambiar, agregar o quitar elementos después de crearlas.
● Pueden contener diferentes tipos de datos al mismo tiempo.
● Los elementos se acceden mediante un índice que comienza en 0.
Creación de Listas:
● Lista vacía:
○ mi_lista = list()
○ otra_lista = []
● Lista con elementos:
○ numeros = [1, 2, 3, 4, 5]
○ palabras = ["casa", "árbol", "planta", "auto"]
○ variados = ["a", 17, True, 9.5]
Operaciones Comunes con Listas:
● +: Concatenación (unir dos listas).
● *: Repetición (duplicar elementos).
● len(): Obtener la cantidad de elementos.
● [indice]: Acceder a un elemento por su posición.
● [indice] = nuevo_valor: Modificar un elemento.
Tuplas (tuple):
● Son secuencias ordenadas de elementos.
● Son inmutables: una vez creadas, no se pueden modificar sus elementos.
● Se definen usando paréntesis () en lugar de corchetes [].
Creación de Tuplas:
● Tupla vacía: tupla_vacia = ()
● Tupla con elementos:
○ coordenadas_tenerife = (28.46824, -16.25462)
○ los_tres_reyes_magos = ("Melchor", "Gaspar", "Baltasar")
● Pueden contener diferentes tipos de datos.
En resumen, las listas son colecciones ordenadas y modificables, mientras que las tuplas son colecciones
ordenadas pero inmutables. Ambas se pueden recorrer fácilmente con el bucle for.
Bucles de iteración indefinida Bucles de iteración indefinida Bucle de Iteración Definida for
while puede no ejecutarse si la do-while siempre se ejecuta al es más útil cuando sabemos
condición es falsa desde el menos una vez. cuántas veces se repetirá el
inicio. ciclo.
Bucle while:
Diferencia Clave:
● while: Condición primero, luego ejecuta (puede no ejecutarse).
● do-while (simulado): Ejecuta primero, luego verifica la condición (se ejecuta al menos una vez).
● Propósito: El bucle for en Python está diseñado para recorrer los elementos de una secuencia
(listas, strings, etc.) o cualquier cosa que sea iterable.
● Diferencia con otros lenguajes: A diferencia del for en C o Pascal (que se basa en un índice
numérico con inicio, fin e incremento), el for de Python itera directamente sobre los elementos
de la secuencia, manteniendo su orden.
● Funcionamiento: En cada repetición del bucle, una variable toma el valor del siguiente
elemento de la secuencia, y el bloque de código dentro del for se ejecuta con ese valor.
La Función range():
● Genera una secuencia de números.
● Puedes especificar:
○ range(5) genera: 0, 1, 2, 3, 4
○ range(5, 10) genera: 5, 6, 7, 8, 9
○ range(0, 10, 3) genera: 0, 3, 6, 9
○ range(-10, -100, -30) genera: -10, -40, -70
● Uso común: Para iterar sobre los índices de una secuencia, combinado con len():
● Python
mi_lista = ["a", "b", "c"]
for i in range(len(mi_lista)):
●
●
● enumerate(): Una forma más elegante y legible de obtener tanto el índice como el elemento al
iterar:
● Python
●
●
● Importante: range() no crea una lista completa en memoria, sino un objeto iterable que genera
los números bajo demanda, ahorrando memoria.
En resumen: El bucle for en Python es una herramienta poderosa para iterar sobre colecciones de
elementos de forma directa y ordenada. La función range() es útil para iterar sobre números, y
enumerate() facilita el acceso tanto al índice como al elemento. break y continue permiten controlar el
flujo dentro del bucle, y la cláusula else se ejecuta al finalizar el bucle de forma natural.
Módulo 5 [Link]
Las listas en Python son estructuras de datos fundamentales que permiten almacenar colecciones
ordenadas de elementos de diversos tipos. Son mutables (se pueden modificar) y dinámicas (su tamaño
cambia durante la ejecución). Se crean con corchetes [], separando los elementos con comas, lo que las
convierte en una herramienta esencial en la programación con Python debido a su flexibilidad.
● Ordenadas
● Modificables por tipos arbitrarios
● Indexadas
● Permiten anidar listas
● Dinámicas.
¡Excelente lista de métodos, funciones y operadores para listas en Python! Aquí tienes un resumen con
puntos clave para entenderlos mejor:
○ Qué hace: Crea una nueva lista con los mismos elementos de la original, pero
ordenados.
○ Devuelve: Una nueva lista ordenada.
○ No modifica la lista original.
○ Qué hace: Compara si dos listas son idénticas. Para ser iguales, deben tener los mismos
elementos en el mismo orden.
○ Devuelve: Un valor booleano (True si son iguales, False si no).
● del lista[indice] / del lista[inicio:fin]:
○ Qué hace: Concatena (une) dos listas, creando una nueva lista que contiene todos los
elementos de ambas.
○ Devuelve: Una nueva lista combinada.
○ No modifica las listas originales.
● lista * n:
○ Qué hace: Repite los elementos de la lista n veces, creando una nueva lista más larga.
○ Devuelve: Una nueva lista repetida.
○ No modifica la lista original.
○ Qué hace: Inserta un elemento en una posición específica (indice). Los elementos
posteriores se desplazan.
○ Modifica la lista original in situ.
● [Link](elemento):
○ Qué hace: Ordena los elementos de la lista in situ (modifica la lista original). Por
defecto, ordena de forma ascendente.
○ Modifica la lista original in situ.
● [Link]():
○ Qué hace: Invierte el orden de los elementos de la lista in situ (el primer elemento pasa
a ser el último, y viceversa).
○ Modifica la lista original in situ.
● lista[:] (Slicing para Copia):
○ Qué hace: Crea una copia superficial de toda la lista. Esto significa que se crea un
nuevo objeto lista con los mismos elementos, pero independiente del original.
○ Devuelve: Una nueva lista (copia).
○ No modifica la lista original.
En resumen: Python proporciona una rica variedad de herramientas (funciones, operadores y métodos)
para trabajar con listas, permitiendo manipular, consultar, ordenar y modificar estas colecciones de datos
de manera eficiente. Es importante distinguir entre las operaciones que modifican la lista original ("in
situ") y las que devuelven una nueva lista sin alterar la original.
ejercicios
Mod2:
:Ejercicios:
1. Costo total de una compra: Calcula el costo total de una compra de 3 productos, dados sus precios
individuales.
2. Cálculo de propina: Calcula la propina (18%) de una cuenta de restaurante.
3. Descuento en una compra: Calcula el precio final de un producto con un descuento del 10%.
4. Costo total de un viaje: Calcula el costo total de un viaje dadas la distancia, el costo por kilómetro
y los gastos adicionales.
5. Duración de un viaje: Calcula la duración de un viaje en horas, dadas la distancia y la velocidad
promedio.
6. Costo de la gasolina: Calcula el costo de la gasolina para un viaje, dados la distancia, el consumo
por kilómetro y el precio por litro.
7. Área de un rectángulo: Calcula el área de un rectángulo dadas su base y altura.
8. Promedio de tres números: Calcula el promedio de tres números ingresados.
9. Conversión de grados Celsius a Fahrenheit: Convierte una temperatura en grados Celsius a
Fahrenheit.
10. ¿Es un estudiante elegible para un descuento?: Un estudiante es elegible para un descuento si
tiene una calificación de 90 o más en un examen y está inscrito en un programa extracurricular.
11. ¿Es un empleado elegible para un bono?: Un empleado es elegible para un bono si ha trabajado
más de 5 años en la empresa o ha superado sus objetivos de ventas.
12. ¿Es un producto elegible para envío prioritario?: Un producto es elegible para envío prioritario si
pesa menos de 5 kg y su precio es superior a $100.
13. ¿Es un cliente elegible para una promoción?: Un cliente es elegible para una promoción si ha
realizado más de 3 compras en el último mes o si ha gastado más de $500 en total.
14. ¿Es un número divisible por 3 y 5?: Determina si un número es divisible tanto por 3 como por 5.
15. ¿Es un año bisiesto?: Determina si un año es bisiesto (divisible por 4, pero no por 100 a menos
que sea divisible por 400).
Hecho:
Mod3: Ejercicios:
1. Par o Impar: Escribe un programa que solicite al usuario ingresar un número entero. Utiliza un if
para determinar si el número es par o impar e imprime el resultado.
2. Mayor de Dos: Pide al usuario que ingrese dos números. Utiliza un if para determinar cuál de los
dos números es mayor (o si son iguales) e imprime el resultado.
3. Vocal o Consonante (Simple): Solicita al usuario ingresar una única letra. Utiliza una serie de
if/elif/else para determinar si la letra es una vocal (a, e, i, o, u - considera solo minúsculas por
ahora) o una consonante e imprime el resultado.
4. Escribe un programa que lea tres números ingresados por el usuario y los muestre ordenados de
mayor a menor.
5. Solicita al usuario que ingrese la cantidad de goles que hizo Uruguay y la cantidad de goles que
hizo Brasil. Luego, muestra en pantalla la cantidad de goles de cada selección e indica cuál de las
dos fue la ganadora (o si hubo empate).
6. Crea variables para almacenar la cotización actual del dólar estadounidense, el real brasileño y el
peso argentino en relación con el peso uruguayo. Solicita al usuario que ingrese una cantidad en
pesos uruguayos, la moneda a la que desea convertir y si la operación es de compra o venta.
Calcula y muestra la cantidad de la moneda extranjera que se debe entregar o recibir.
7. Escribe un programa que solicite al usuario ingresar un número entero menor que 1,000,000.
Valida que el número ingresado cumpla con esta condición. Si es válido, descompón el número en
sus unidades, decenas y centenas, etc, mostrando cada componente por separado.
8. Calcular el Impuesto a la Renta de las Personas Físicas (IRPF). En este ejercicio, no se
considerarán las deducciones.
Hecho:
Mod4:
Ejercicios:
a) Ejercicios while
Crea un juego interactivo de preguntas matemáticas. El programa debe seleccionar aleatoriamente dos
números, preguntar al usuario el resultado de su suma y continuar con nuevas preguntas hasta que el
usuario responda correctamente diez veces. Al finalizar, muestra la cantidad total de intentos que realizó
el usuario.
2) Catálogo de compras:
Implementa un 'catálogo de compras' que muestre cinco artículos diferentes, indicando su precio y un
código único para cada uno. El programa debe preguntar al usuario qué artículo desea comprar (mediante
su código) y cuántas unidades. Luego, preguntará si desea seguir comprando. Al finalizar la compra
(cuando el usuario indique que no desea continuar), muestra la lista de todos los artículos que se
mostraron en el catálogo, la cantidad total de artículos comprados y el importe total a pagar.
Desarrolla un programa que calcule la sumatoria de un número entero positivo ingresado por el usuario.
La sumatoria de un número 'n' es la suma de todos los números enteros desde 1 hasta 'n' (ejemplo: la
sumatoria de 5 es 1 + 2 + 3 + 4 + 5 = 15)."
4) Crear una calculadora básica:
Crea una calculadora básica que permita realizar las operaciones de suma, resta, multiplicación y división.
El programa debe solicitar al usuario que elija una operación y luego que ingrese los números necesarios
para realizarla. La calculadora debe seguir funcionando hasta que el usuario decida salir.
5) Adivina el número:
Implementa un juego de 'Adivina el número'. El programa debe generar un número entero aleatorio dentro
de un rango específico (por ejemplo, entre 1 y 100). Luego, debe preguntar al usuario que intente adivinar
el número. Si el usuario no acierta, el programa debe darle pistas indicando si el número secreto es mayor
o menor que el intento del usuario. El juego continúa hasta que el usuario adivina el número correcto,
momento en el cual se debe mostrar la cantidad total de intentos que necesitó."
6) Un poco de estadísticas
Diseña un programa en Python que permita al usuario ingresar una serie de números. El programa debe
continuar solicitando números hasta que el usuario ingrese la palabra "fin". Una vez que el usuario
finaliza la entrada, el programa debe calcular y mostrar la media (promedio) y el rango de todos los
números ingresados. Si el usuario no ingresa ningún número antes de escribir "fin", el programa debe
indicar que no se proporcionaron valores para calcular la media. Ingresa Una vez que tengas el valor
máximo y el mínimo, el rango se calcula restando el mínimo del máximo.
b) Ejercicios FOR
Escribe un programa que reciba un texto como entrada y verifique, carácter por carácter, si cumple con
algunas reglas básicas para ser una dirección de correo electrónico válida. Considera las siguientes reglas:
debe contener un único símbolo '@', debe haber al menos un carácter antes y después del '@', y debe
contener al menos un punto '.' después del '@'.
Parte b: Implementa una versión simplificada del juego del Ahorcado. El programa debe solicitar al
usuario que ingrese el título de una película. Luego, divide este título en palabras. A continuación, pide al
usuario que ingrese una palabra como intento. Recorre cada palabra del título de la película y verifica si la
palabra ingresada por el usuario coincide con alguna de las palabras del título. Indica al usuario si su
palabra pertenece o no al título de la película.
Parte C : Solo para mentes intrépidas: ¡Programa el juego completo! El jugador ingresa una palabra. Si
esta se encuentra relacionada con la película (busca una estrategia para la validación), se contabiliza su
acierto. En caso contrario, se reduce una de sus vidas.
Crea un programa que solicite al usuario ingresar un número entero positivo. Utiliza bucles for y la
función range para generar e imprimir un patrón de asteriscos en forma de triángulo rectángulo. Por
ejemplo, si el usuario ingresa 5, la salida debería ser:
*
**
***
****
*****
11) Implementar una solución para obtener y presentar la totalidad de los divisores comunes entre dos
números.
Hecho:
Mod5:
Ejercicios:
Crea una lista llamada nombres con los siguientes datos: ['Ana Adoque', 'Mario Juan', 'Policarpo
Avedaño', 'Juan Bodoque', 'Juan Harry', 'Mario Hugo', 'Dylan Manguera', 'Eusebio Manguera'].
Realiza las siguientes operaciones:
1. Contar nombres "Juan": Determina cuántas veces aparece exactamente el nombre "Juan" al inicio
de un elemento en la lista.
2. Contar nombres o apellidos son exactamente "Juan".
3. Contar nombres y apellidos que inician con "J": Determina cuántos elementos de la lista tienen
tanto su nombre (primera palabra) como su apellido (segunda palabra) comenzando con la letra
"J" (mayúscula). Considera que puede haber nombres o apellidos compuestos por una sola
palabra.
1. Agregar números únicos: Crea una lista vacía llamada numeros_ingresados. Solicita al usuario
que ingrese un número desde el teclado. Verifica si el número ingresado ya existe en la lista
numeros_ingresados. Si el número no existe, agrégalo a la lista. Repite este proceso hasta que el
usuario decida detenerlo (por ejemplo, ingresando una letra o una condición específica).
2. Sugerencia de número mayor siguiente: Modifica el programa del punto anterior de la siguiente
manera: Si el número ingresado por el usuario ya existe en la lista numeros_ingresados, en lugar
de simplemente ignorarlo, sugiere agregar el número entero inmediatamente mayor al número
existente. Pregunta al usuario si desea agregar esta sugerencia a la lista. Si el usuario acepta,
agrega el número sugerido a la lista.
1. Crear lista de ciudades únicas: Crea una lista llamada ciudades con nombres de ciudades.
Asegúrate de que no haya nombres repetidos en la lista inicial (por ejemplo: ['Londres', 'París',
'Roma', 'Tokio']).
Opción para modificar nombre: Implementa una funcionalidad que permita al usuario modificar
el nombre de una ciudad existente en la lista.
2. Control de nombres duplicados: Antes de realizar la modificación, verifica si el nuevo nombre
de ciudad ingresado por el usuario ya existe en la lista ciudades. Si el nuevo nombre ya existe,
muestra un mensaje de error al usuario y no realices la modificación. Si el nuevo nombre no
existe, actualiza el nombre de la ciudad en la lista.
Hecho:
mega resumen por modulo
Módulo 1:
¿Qué es Programar?
● Instruir: Dar órdenes específicas a la computadora.
● Resolver: Automatizar soluciones a problemas.
● Comunicar: Hablar el idioma de la máquina.
● Crear: Producir software.
● Proceso: Planificar, escribir, probar, mantener.
Paradigma de Programación
● Estilos: Formas de organizar el código.
● Pensamiento: Lógicas para resolver problemas.
● Estructura: Cómo se organiza el programa.
● Ejemplos: Imperativo (pasos), OOP (objetos), Funcional (funciones).
Módulo 2:
Variables y Operadores:
Estructura de un Programa:
● Compilados:
○ Traducción total a código máquina antes de ejecutar.
○ Ejecución rápida.
○ Específicos de la plataforma.
○ Ejemplos: C, C++, Go, Rust.
● Interpretados:
○ Traducción línea por línea durante la ejecución.
○ Ejecución flexible en diferentes plataformas con intérprete.
○ Desarrollo rápido.
○ Generalmente más lentos.
○ Ejemplos: Python, JavaScript, Ruby, PHP.
Variables en PYTHON:
Pseudocódigo:
Sentencia SI (IF):
Operador Ternario:
Módulo 4:
Contadores:
● Cuentan eventos.
● Incremento/decremento constante (normalmente 1).
Acumuladores:
Diferencia Clave:
Listas (list):
● Ordenadas.
● Mutables: Se pueden modificar.
● Indexadas (desde 0).
● Pueden contener diferentes tipos.
● Creación: [] o list().
● Operaciones Comunes:
○ +: Concatenación.
○ *: Repetición.
○ len(): Cantidad de elementos.
○ [indice]: Acceder.
○ [indice] = nuevo_valor: Modificar.
● Métodos: append(), extend(), insert(), remove(), pop(), clear(), index(), count(), sort(), reverse().
Tuplas (tuple):
● Ordenadas.
● Inmutables: No se pueden modificar después de crear.
● Indexadas (desde 0).
● Pueden contener diferentes tipos.
● Creación: () o simplemente valores separados por comas.
Métodos de Listas (Modifican la lista original "in situ" a menos que se indique lo contrario):