if / elif / else
Las estructuras condicionales permiten ejecutar código solo si se cumple una condición.
En Python se usa if, elif (else if) y else.
edad = int(input("¿Cuántos años tienes? "))
if edad >= 18:
print("Eres mayor de edad.")
elif edad >= 13:
print("Eres adolescente.")
else:
print("Eres menor de edad.")
print("Fin del programa.")
Puntos clave:
:).elif como necesites.else es opcional y captura cualquier otro caso.and / ornota = float(input("Nota del examen: "))
asistencia = float(input("Porcentaje de asistencia: "))
if nota >= 5 and asistencia >= 80:
print("✅ Aprobado")
elif nota >= 5 and asistencia < 80:
print("⚠️ Aprobado pero con asistencia insuficiente")
else:
print("❌ Suspenso")
numero = int(input("Dime un número: "))
if numero > 0:
if numero % 2 == 0:
print(f"{numero} es positivo y par.")
else:
print(f"{numero} es positivo e impar.")
elif numero < 0:
print(f"{numero} es negativo.")
else:
print("El número es cero.")
whileEl bucle while repite un bloque mientras una condición sea verdadera:
# Contar del 1 al 5
contador = 1
while contador <= 5:
print(f"Número: {contador}")
contador += 1 # ¡Importante! Sino, bucle infinito
print("¡Despegue! 🚀")
break# Menú interactivo
while True:
print("\n=== MENÚ ===")
print("1. Saludar")
print("2. Despedir")
print("3. Salir")
opcion = input("Elige una opción: ")
if opcion == "1":
print("¡Hola!")
elif opcion == "2":
print("¡Adiós!")
elif opcion == "3":
print("Saliendo...")
break
else:
print("Opción no válida.")
forEl bucle for itera sobre una secuencia (lista, tupla, cadena, etc.):
# Iterar sobre una cadena
for letra in "Python":
print(letra)
print()
# Iterar sobre una lista
colores = ["rojo", "verde", "azul"]
for color in colores:
print(f"Color: {color}")
range()La función range() genera secuencias de números. Muy útil con for:
# range(stop)
for i in range(5):
print(i) # 0, 1, 2, 3, 4
print("---")
# range(start, stop)
for i in range(2, 6):
print(i) # 2, 3, 4, 5
print("---")
# range(start, stop, step)
for i in range(0, 10, 2):
print(i) # 0, 2, 4, 6, 8
print("---")
# Recorrer hacia atrás
for i in range(5, 0, -1):
print(i) # 5, 4, 3, 2, 1
break y continuebreak — Sale del bucle inmediatamente.continue — Salta a la siguiente iteración, ignorando el resto del bloque.# break: encontrar el primer número par
for num in range(1, 10):
if num % 2 == 0:
print(f"Primer par encontrado: {num}")
break
print(f"{num} es impar...")
print()
# continue: saltar los números pares
for num in range(1, 8):
if num % 2 == 0:
continue
print(f"{num} es impar")
enumerate()enumerate() permite obtener el índice y el valor al mismo tiempo al iterar:
frutas = ["manzana", "plátano", "cereza", "dátil"]
for indice, fruta in enumerate(frutas):
print(f"{indice + 1}. {fruta}")
# También puedes especificar el inicio del índice
for i, fruta in enumerate(frutas, start=1):
print(f"{i}. {fruta}")
import random
print("=== ADIVINA EL NÚMERO ===")
secreto = random.randint(1, 10)
intentos = 0
while True:
try:
numero = int(input("Adivina el número (1-10): "))
intentos += 1
if numero == secreto:
print(f"¡Acertaste en {intentos} intento(s)! 🎉")
break
elif numero < secreto:
print("El número es mayor. Sigue intentando.")
else:
print("El número es menor. Sigue intentando.")
except ValueError:
print("Por favor, introduce un número válido.")
for; si depende de una
condición, usa while.
if/elif/else para decisiones condicionales.while repite mientras se cumpla una condición.for itera sobre secuencias; combínalo con range().break sale del bucle; continue salta a la siguiente iteración.enumerate() te da el índice y el valor a la vez.