Python

Fundamentos de la Programación

Operadores

Operadores Aritméticos

Se usan para realizar operaciones matemáticas básicas. Incluyen + (suma), - (resta), * (multiplicación), / (división), // (división entera), % (módulo: devuelve el residuo de una división), y ** (potenciación).

Operadores de Comparación

Comparan dos valores y devuelven un valor booleano (True o False). Incluyen == (igual a), != (diferente de), > (mayor que), < (menor que), >= (mayor o igual que), y <= (menor o igual que).

Operadores Lógicos

Se usan para combinar condiciones. Incluyen and (y), or (o), y not (no).




Variables y Tipos de Datos

Se utilizan para almacenar datos que pueden ser usados y manipulados en un programa.


Tipos de datos:




Estructuras de Datos

Listas

Son colecciones ordenadas de elementos que pueden ser de cualquier tipo. Se crean usando corchetes [] y se pueden modificar después de su creación.


Métodos de listas en Python

Python tiene métodos útiles para manipular elementos en listas. A continuación una breve descripción y ejemplos de algunos de los métodos más comunes:


append(x)

Agrega un elemento al final de la lista.

lista = [1, 2, 3]
lista.append(4)
print(lista)  # Salida: [1, 2, 3, 4]

extend(iterable)

Extiende la lista añadiendo todos los elementos del iterable.

lista = [1, 2, 3]
nueva_lista = [4, 5]
lista.extend(nueva_lista)
print(lista)  # Salida: [1, 2, 3, 4, 5]

insert(i, x)

Inserta un elemento en una posición específica.

lista = [1, 2, 3]
lista.insert(1, 4)
print(lista)  # Salida: [1, 4, 2, 3]

remove(x)

Elimina la primera ocurrencia del elemento x.

lista = [1, 2, 3, 2]
lista.remove(2)
print(lista)  # Salida: [1, 3, 2]

pop([i])

Elimina y devuelve el elemento en la posición i. Si no se especifica i, elimina y devuelve el último elemento.

lista = [1, 2, 3]
elemento = lista.pop()
print(elemento)  # Salida: 3
print(lista)  # Salida: [1, 2]

clear()

Elimina todos los elementos de la lista.

lista = [1, 2, 3]
lista.clear()
print(lista)  # Salida: []

index(x[, start[, end]])

Devuelve el índice de la primera ocurrencia de x.

lista = [1, 2, 3, 2]
indice = lista.index(2)
print(indice)  # Salida: 1

count(x)

Devuelve el número de veces que x aparece en la lista.

lista = [1, 2, 3, 2, 2]
conteo = lista.count(2)
print(conteo)  # Salida: 3

sort(key=None, reverse=False)

Ordena la lista in-place. Ordena por defecto en orden ascendente. Se puede especificar una función de clave y un orden inverso.

def ordenar_por_inverso(x):
    return -x

lista = [3, 1, 2]
lista.sort(key=ordenar_por_inverso, reverse=True)
print(lista)  # Salida: [3, 2, 1]

reverse()

Invierte el orden de los elementos de la lista in-place.

lista = [1, 2, 3]
lista.reverse()
print(lista)  # Salida: [3, 2, 1]

Slicing (Corte) en Listas

El slicing en Python es una forma de obtener partes específicas de una lista. Imagina que tienes una lista como una fila de bloques de construcción y quieres tomar solo algunos bloques.


Ejemplo de Slicing

Supongamos que tienes esta lista de números:

numeros = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]




Slicing con Pasos

Puedes usar slicing para saltar elementos usando un tercer valor llamado “paso”.





Control de Flujo

Condicionales

Estructura if, elif, else: Las declaraciones condicionales permiten ejecutar código basado en ciertas condiciones.


Condicionales Anidadas

Las condiciones pueden anidarse dentro de otras condiciones para evaluar múltiples criterios.


Uso de Operadores Lógicos en Condicionales

Los operadores and, or, y not se pueden usar para combinar múltiples condiciones en una declaración if.




Bucles

Ciclo while

Un bucle while repite un bloque de código mientras una condición sea verdadera. Es útil cuando no se sabe de antemano cuántas veces se debe repetir el bucle.

Ejemplo básico de ciclo while:

contador = 1
while contador <= 5:
    print(contador)
    contador += 1

Este bucle imprimirá los números del 1 al 5. La variable contador se incrementa en 1 en cada iteración.


Ciclo while con una condición de salida

El bucle while también se puede utilizar con una condición de salida para detenerse cuando se alcanza un cierto estado.

Ejemplo de ciclo while con una condición de salida:

respuesta = ""
while respuesta != "salir":
    respuesta = input("Escribe 'salir' para terminar: ")
    print("Escribiste:", respuesta)

Este bucle pedirá al usuario que ingrese un texto hasta que escriba “salir”. En cada iteración, se imprime lo que el usuario escribió.


Ciclo for

Un bucle for se utiliza para iterar sobre una secuencia (como una lista o un rango de números). A diferencia del ciclo while, el número de iteraciones está determinado por la cantidad de elementos en la secuencia.

Ejemplo básico de ciclo for:

for i in range(5):
    print(i)

Este bucle imprimirá los números del 0 al 4.




Funciones

Son bloques de código reutilizables que realizan una tarea específica. Se definen usando la palabra clave def seguida del nombre de la función y paréntesis. Dentro de los paréntesis, se pueden incluir parámetros, que son variables que la función puede recibir como entrada.

Ejemplo de una función simple:

def saludar(nombre):
    print(f"Hola, {nombre}!")

saludar("Steve")

Este código define una función llamada saludar que toma un parámetro nombre e imprime un mensaje de saludo. Luego, la función se llama con el argumento "Steve", y se imprimirá Hola, Steve!.


Funciones con valor de retorno

Las funciones pueden devolver un valor usando la palabra clave return. Esto permite que la función envíe datos de vuelta al lugar donde fue llamada. Utilizar funciones con valor de retorno es útil cuando necesitas el resultado de un cálculo o una operación para usarlo en otro lugar del programa.

Ejemplo de una función con valor de retorno:

def suma(a, b):
    return a + b

resultado = suma(3, 5)
print(resultado)

Este código define una función suma que toma dos parámetros, a y b, y devuelve su suma. El resultado de la función se almacena en la variable resultado, que luego se imprime (mostrará 8).


Funciones con múltiples valores de retorno

Las funciones también pueden devolver múltiples valores utilizando tuplas. Esto es útil cuando necesitas devolver más de un valor desde una función.

Ejemplo de una función que devuelve múltiples valores:

def operaciones(a, b):
    suma = a + b
    resta = a - b
    return suma, resta

resultado_suma, resultado_resta = operaciones(10, 5)
print("Suma:", resultado_suma)
print("Resta:", resultado_resta)

Este código define una función operaciones que toma dos parámetros y devuelve la suma y la resta de esos parámetros. Los resultados se almacenan en dos variables separadas y luego se imprimen.