Python
Python es un lenguaje de programación de
alto nivel, multiparadigma y de código abierto,
diseñado para ser legible y eficiente. Su sintaxis limpia facilita el
desarrollo de software complejo, desde aplicaciones web hasta scripts de
automatización. Es el estándar de la industria en inteligencia artificial,
ciencia de datos y aprendizaje automático gracias a su extenso ecosistema
de bibliotecas. Además, al ser interpretado y multiplataforma, permite
ejecutar el mismo código en casi cualquier sistema operativo sin necesidad de
modificarlo.
Tipos numéricos
- Enteros (int): Almacenan números
sin decimales, positivos o negativos, sin límite de tamaño. Ejemplo: 42,
-3.
- Decimales (float): Almacenan
números con punto decimal. Ejemplo: 3.14, -0.01.
- Complejos (complex): Tienen una
parte real y una imaginaria con la letra j.
Texto y lógica
- Cadenas de texto (str): Secuencias
de caracteres delimitadas por comillas simples o dobles. Ejemplo:
"Hola mundo".
- Booleanos (bool): Representan
valores de verdad: True (verdadero) o False (falso).
Colecciones de datos
- Listas (list): Colecciones
ordenadas y mutables que pueden contener varios tipos de datos, definidas
entre corchetes. Ejemplo: [1, "dos", 3.0].
- Tuplas (tuple): Colecciones
ordenadas pero inmutables (no se pueden modificar tras crearlas),
definidas entre paréntesis. Ejemplo: (1, 2, 3).
- Conjuntos (set): Colecciones
desordenadas de elementos únicos, definidas entre llaves. Ejemplo:
{"a", "b", "c"}.
- Diccionarios (dict): Almacenan
pares de clave: valor. Ejemplo: {"nombre": "Ana",
"edad": 25}.
ENTRADA Y SALIDA DE DATOS
La entrada y salida de datos se
realiza principalmente mediante las funciones input() para capturar información
del usuario y print() para mostrar resultados en la pantalla.
nombre = input("¿Cómo te llamas?:
")
edad_texto = input("¿Cuántos años
tienes?: ")
edad = int(edad_texto) # Conversión de texto a número entero
print(f"Hola {nombre}, el próximo año
tendrás {edad + 1} años.")
NUMERO ALEATORIOS
Para generar un números aleatorios se importa la librería integrada random
y usa la función random.randint(min, max) para enteros o random.random() para
decimales entre 0 y 1.
EJEMPLOS:
print("ALEATORIOS")
import random
# Generar un entero entre 1 y 10 (ambos
incluidos)
numero_entero = random.randint(1, 10)
print(f"Entero aleatorio (1-10): {numero_entero}")
# Generar un número par entre 0 y 100
par_aleatorio = random.randrange(0, 101, 2)
print(f"Número par aleatorio (0-100):
{par_aleatorio}")
# Generar un decimal entre 0.0 y 1.0
decimal_cero_uno = random.random()
print(f"Decimal entre 0 y 1:
{decimal_cero_uno}")
# Generar un decimal en un rango específico
(ej. entre 5.5 y 10.5)
decimal_rango = random.uniform(5.5, 10.5)
print(f"Decimal en rango (5.5-10.5):
{decimal_rango}")
frutas = ["manzana",
"plátano", "naranja", "uva", "sandía"]
# Elegir UN elemento al azar
opcion = random.choice(frutas)
print(f"Fruta elegida: {opcion}")
# Elegir VARIOS elementos sin que se
repitan (ej. 3 frutas)
muestra = random.sample(frutas, 3)
print(f"Muestra de 3 frutas:
{muestra}")
# Mezclar una lista original en orden
aleatorio
baraja = [1, 2, 3, 4, 5]
random.shuffle(baraja)
print(f"Lista mezclada:
{baraja}")
SLICING
El slicing (o rebanado) en Python es
una función que permite extraer porciones de secuencias como listas, tuplas o
cadenas de texto usando la sintaxis [inicio:fin:paso]. El valor de inicio se
incluye, el fin se excluye, y el paso define el tamaño del salto
Sintaxis Básica
La estructura general del rebanado es:
secuencia[inicio : fin : paso]
- inicio: El índice donde empieza el
corte (se incluye). Si se omite, empieza desde el primer elemento (0).
- fin: El índice donde termina el
corte (no se incluye). Si se omite, llega hasta el final de la secuencia.
- paso: El tamaño del salto entre
cada elemento. Si se omite, el valor por defecto es 1
EJEMPLOS;
frutas = ["Manzana",
"Plátano", "Naranja", "Mango", "Uvas"]
print(frutas[1:4])
# Resultado: ['Plátano', 'Naranja',
'Mango']
numeros = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numeros[::2])
# Salta de 2 en 2: [0, 2, 4, 6, 8]
print(frutas[::-1])
# Resultado: ['Uvas', 'Mango', 'Naranja',
'Plátano', 'Manzana']
LISTAS
Una lista en Python es una
estructura de datos integrada que permite almacenar múltiples elementos en
una sola variable de forma ordenada y mutable. Esto significa que los
elementos guardan un orden específico basado en un índice numérico (que
comienza en 0) y que puedes modificar, añadir o eliminar elementos después de
haber creado la lista.
EJEMPLO:
# Ejemplo de una lista
mis_frutas = ["manzana",
"plátano", "cereza"]
FUNCIONES
1. len(lista) — Obtener el tamaño de la
lista
Es una función global de Python que te
devuelve la cantidad total de elementos que contiene la lista.
numeros = [10, 20, 30, 40]
total = len(numeros)
print(total) # Resultado: 4
2. .append(elemento) — Agregar al final
Este método añade un nuevo elemento únicamente
al final de la lista existente.
animales = ["perro",
"gato"]
animales.append("loro")
print(animales) # Resultado: ['perro', 'gato', 'loro']
3. .insert(índice, elemento) — Insertar
en una posición específica
A diferencia de .append(), este método te
permite elegir la posición exacta (índice) donde deseas colocar el nuevo
elemento, moviendo el resto hacia la derecha.
colores = ["rojo",
"azul", "verde"]
# Inserta "amarillo" en la
posición 1 (el segundo lugar)
colores.insert(1, "amarillo")
print(colores) # Resultado: ['rojo', 'amarillo', 'azul',
'verde']
4. .remove(elemento) — Eliminar por
valor
Busca el elemento que le indiques dentro de
la lista y elimina su primera aparición. Si el elemento no existe,
arrojará un error.
coches = ["Toyota",
"Ford", "Mazda", "Ford"]
coches.remove("Ford") # Elimina solo el primer "Ford" que
encuentra
print(coches) # Resultado: ['Toyota', 'Mazda', 'Ford']
5. .pop(índice) — Eliminar por posición
y extraer
Elimina el elemento que se encuentra en el
índice indicado y te lo devuelve (por si quieres guardarlo en otra
variable). Si no le pasas ningún índice entre los paréntesis, eliminará de
forma automática el último elemento.
tareas = ["programar",
"comer", "dormir"]
ultima_tarea = tareas.pop() # Elimina "dormir" y lo guarda en
la variable
print(tareas) # Resultado: ['programar', 'comer']
print(ultima_tarea) # Resultado: "dormir"
6.sort() — Ordenar la lista (Sorter)
Este método ordena los elementos de la
lista de forma ascendente (de menor a mayor para números, y en orden
alfabético para textos).
# Ejemplo con números
numeros = [5, 1, 9, 3]
numeros.sort()
print(numeros) # Resultado: [1, 3, 5, 9]
# Ejemplo con texto (Orden alfabético)
letras = ["b", "z",
"a"]
letras.sort()
print(letras) # Resultado: ['a', 'b', 'z']
* Ordenar al revés (Descendente)
Si pasas el argumento reverse=True dentro
de los paréntesis, puedes ordenar de mayor a menor.
puntuaciones = [10, 50, 20]
puntuaciones.sort(reverse=True)
print(puntuaciones) # Resultado: [50, 20, 10]
7 .reverse() — Poner la lista en reversa
Este método simplemente invierte el
orden físico de los elementos en la lista, sin importar si están ordenados
alfabética o numéricamente. El que estaba al último pasa a ser el primero, el
penúltimo pasa a ser el segundo, y así sucesivamente.
# Ejemplo de reversa pura
ingredientes = ["tomate",
"queso", "harina"]
ingredientes.reverse()
print(ingredientes) # Resultado: ['harina', 'queso', 'tomate']
ESTRUCTURAS CONDICIONALES
IF, ELIF, ELSE:
El if es la estructura condicional
más básica en programación y sirve para ejecutar un bloque de código solo si
se cumple una condición específica (es decir, si la condición es
verdadera). Si la condición no se cumple, el programa simplemente ignora ese
código y continúa con el resto de tu archivo.
Se puede entender como un interruptor: si
la condición es verdadera, la luz del código se enciende; si es falsa,
se queda apagada.
EJEMPLO:
edad = 15
print("Puedes pasar, eres mayor de edad.")
elif edad >= 14:
print("Puedes pasar solo a la zona de adolescentes.")
else:
print("Lo siento, eres muy menor para entrar.")
MATCH-CASE:
El bloque match evalúa una variable y
compara su valor contra distintos patrones usando la palabra clave case. Si
ninguna opción coincide, se puede usar un guion bajo (_) como valor por defecto.
EJEMPLO
match dia:
case "lunes":
print("Es el primer día laboral.")
case "viernes":
print("¡Por fin es viernes!")
case _:
print("Es otro día de la semana.")
BUCLE ITERATIVOS
FOR
El bucle for en Python es una
estructura de control que se utiliza para iterar (recorrer) los elementos de
una secuencia de forma secuencial. Una secuencia puede ser una lista,
un string, un diccionario, un set o un rango numérico.
A diferencia de otros lenguajes de
programación, el for en Python funciona como un foreach, lo que
significa que pasa por cada elemento directamente en lugar de usar un contador
numérico obligatorio.
EJEMPLOS:
print("bucle for")
# Iterar sobre una lista
frutas = ["manzana",
"banana", "cereza"]
for fruta in frutas:
print(fruta)
# Imprime números del 0 al 4
for i in
range(5):
print(i)
#posicion con enumerate
for indice, fruta in enumerate(frutas):
print(f"Índice {indice}:
{fruta}")
for i in
range(1, 6):
print(i)
#
Resultado: 1, 2, 3, 4, 5
for i in
range(5, 0, -1):
print(i)
#
Resultado: 5, 4, 3, 2, 1
for i in
range(0, 26, 5):
print(i)
#
Resultado: 0, 5, 10, 15, 20, 25
for i in
range(50, 19, -5):
print(i)
# Resultado: 50, 45, 40, 35, 30, 25, 20
suma_total = 0
for i in
range(5, 21, 5): # Valores: 5, 10, 15, 20
suma_total += i
print(f"Sumando {i}, el
total parcial es: {suma_total}")
print(f"Resultado final:
{suma_total}")
# Resultado final: 50 (5 + 10 + 15 + 20)
# 1. Creamos la variable externa que
acumulará los saltos
numero = 0
# 2. El bucle define cuántas veces queremos
que se repita la acción
for _ in range(5): # Se ejecutará 5
veces
print(numero)
numero += 2 #
Sumamos 2 al valor actual de la variable externa
#En Python, cuando usas el guion bajo _ en
el for, le estás diciendo al
# programa que no necesitas usar la
variable del rango para nada.
WHILE
El bucle while en Python es una
estructura de control que repite un bloque de código mientras una condición
específica sea Verdadera (True).
A diferencia del bucle for (que recorre un
número fijo de elementos), el while se utiliza cuando no sabes de antemano
cuántas veces se tendrá que repetir el bucle, ya que depende completamente
de que la condición cambie en algún momento para poder detenerse.
EJERCICIOS:
print("bucle while")
contador = 1
while contador <= 5:
print(f"Número:
{contador}")
contador += 1 #
Incremento para evitar un bucle infinito
#bucle while true para hacer un bucle en
que se paraliza cuando ponemos un valor
while True:
numero =
int(input("Introduce un número positivo (o negativo para salir): "))
print(f"Ingresaste:
{numero}")
# Condición de salida
evaluada al final del ciclo
if numero < 0:
print("¡Bucle terminado!")
break
while True:
print("\n--- MENÚ ---")
print("1. Saludar")
print("2. Salir")
opcion = input("Elige
una opción: ")
if opcion == "1":
print("¡Hola! Qué tengas un gran día.")
elif opcion == "2":
print("Saliendo del programa...")
break #
Rompe el bucle obligatoriamente
else:
print("Opción
no válida, intenta de nuevo.")
#while con texto para salir
entrada = ""
while entrada.lower() != "salir":
entrada = input("Escribe
algo (o 'salir' para terminar): ")
if entrada.lower() !=
"salir":
print(f"Repitiendo: {entrada}")
print("Proceso finalizado.")
#bucle para salir con texto 2
while True:
# 1. Se ejecuta esta parte
del código obligatoriamente al menos una vez.
accion = input("¿Quieres
continuar? (si/no): ")
# 2. Se evalúa la condición
de salida.
if accion == "no":
print("Saliendo del bucle...")
break #
3. El 'break' detiene el bucle inmediatamente y salta al final.
# 4. El programa continúa aquí después del
break.
print("Programa
terminado.")
while True:
texto = input("Escribe 'salir' para terminar: ")
if texto == "salir":
break # Rompe el bucle y sale del programa
No hay comentarios.:
Publicar un comentario