Uso del editor en línea
Para realizar las actividades, utiliza el Online Python IDE disponible en:
https://www.online-python.com/
Instrucciones
- Abre el enlace en tu navegador.
- Borra el código que aparece por defecto.
- Copia y pega el código del ejercicio.
- Presiona el botón Run para ejecutarlo.
- Observa el resultado en la consola (parte inferior).
Recomendaciones
- Modifica los valores del código para ver cómo cambian los resultados.
- Prueba diferentes entradas cuando el programa lo solicite.
- Analiza qué hace cada línea antes de ejecutar.
- Resuelve las actividades propuestas modificando el código base.
El objetivo no es solo ejecutar el programa, sino entender cómo funciona y experimentar con él.
🟢 Nivel básico (variables y operaciones)
1. Tiempo de viaje a la Luna
Calcula cuánto tarda una nave en llegar a la Luna.
Datos:
- Distancia promedio: 384,400 km
- Velocidad: dada por el usuario
Ejercicio:
distancia = 384400 # km
velocidad = float(input("Ingresa la velocidad de la nave (km/h): "))
tiempo = distancia / velocidad
print("Tiempo estimado:", tiempo, "horas")
2. Combustible restante
Calcula cuánto combustible queda después de un viaje.
combustible_inicial = float(input("Combustible inicial (litros): "))
consumo = float(input("Consumo por hora (litros): "))
horas = float(input("Horas de viaje: "))
restante = combustible_inicial - (consumo * horas)
print("Combustible restante:", restante)
🟡 Nivel básico-intermedio (condicionales)
3. ¿La nave puede despegar?
Se necesita al menos 500 litros de combustible.
combustible = float(input("Cantidad de combustible: "))
if combustible >= 500:
print("La nave puede despegar")
else:
print("No hay suficiente combustible")
4. Clasificación de misión
Según la distancia:
distancia = float(input("Distancia de la misión (km): "))
if distancia < 100000:
print("Órbita terrestre")
elif distancia < 400000:
print("Misión lunar")
else:
print("Misión profunda")
🟠 Nivel intermedio (ciclos)
5. Cuenta regresiva de lanzamiento
Simula una cuenta regresiva.
for i in range(10, 0, -1):
print(i)
print("¡Despegue!")
6. Registro de etapas del cohete
El usuario ingresa etapas hasta escribir "fin".
etapa = ""
while etapa != "fin":
etapa = input("Ingresa una etapa (o 'fin' para terminar): ")
if etapa != "fin":
print("Etapa registrada:", etapa)
🔵 Nivel intermedio (funciones)
7. Calcular gravedad en la Luna
La gravedad lunar es ~1.62 m/s².
def peso_en_luna(peso_tierra):
return peso_tierra * (1.62 / 9.81)
peso = float(input("Peso en la Tierra (kg): "))
print("Peso en la Luna:", peso_en_luna(peso))
8. Velocidad de escape (simplificada)
Usa una fórmula simplificada:
def velocidad_escape(gravedad, radio):
return (2 * gravedad * radio) ** 0.5
g = 1.62 # gravedad lunar
radio = 1737 # km (radio de la Luna)
print("Velocidad de escape aproximada:", velocidad_escape(g, radio))
9. Simulador simple de misión Artemis (integración)
Combina todo lo anterior:
distancia = 384400
velocidad = float(input("Velocidad (km/h): "))
combustible = float(input("Combustible disponible: "))
consumo = 50 # litros por hora
tiempo = distancia / velocidad
combustible_necesario = consumo * tiempo
print("Tiempo estimado:", tiempo)
if combustible >= combustible_necesario:
print("Misión posible")
else:
print("Combustible insuficiente")
🔴 Nivel avanzado (clases)
10. Clase Astronauta
Crea una clase que represente a un astronauta de una misión Artemis.
class Astronauta:
def __init__(self, nombre, edad, mision):
self.nombre = nombre
self.edad = edad
self.mision = mision
def mostrar_info(self):
print("Nombre:", self.nombre)
print("Edad:", self.edad)
print("Misión:", self.mision)
astro1 = Astronauta("Diana", 35, "Artemis II")
astro1.mostrar_info()
Actividad
- Crea otro astronauta.
- Cambia el nombre de la misión.
- Agrega un atributo llamado
especialidad.
11. Clase Cohete
Representa un cohete con combustible y capacidad de despegue. Usando métodos que toman decisiones.
class Cohete:
def __init__(self, nombre, combustible):
self.nombre = nombre
self.combustible = combustible
def mostrar_estado(self):
print("Cohete:", self.nombre)
print("Combustible:", self.combustible, "litros")
def puede_despegar(self):
if self.combustible >= 1000:
print("El cohete puede despegar")
else:
print("El cohete no puede despegar")
cohete1 = Cohete("SLS", 1200)
cohete1.mostrar_estado()
cohete1.puede_despegar()
Actividad
Modifica el programa para que:
- el combustible se ingrese por teclado
- el método
puede_despegar()devuelvaTrueoFalseen vez de imprimir directamente
12. Clase MisionArtemis
Crea una misión con nombre, distancia y velocidad; usando una clase para resolver cálculos simples.
class MisionArtemis:
def __init__(self, nombre, distancia, velocidad):
self.nombre = nombre
self.distancia = distancia
self.velocidad = velocidad
def calcular_tiempo(self):
return self.distancia / self.velocidad
def mostrar_resumen(self):
print("Misión:", self.nombre)
print("Distancia:", self.distancia, "km")
print("Velocidad:", self.velocidad, "km/h")
print("Tiempo estimado:", self.calcular_tiempo(), "horas")
mision1 = MisionArtemis("Artemis III", 384400, 8000)
mision1.mostrar_resumen()
Actividad
- Crea una segunda misión.
- Compara cuál tarda menos.
- Muestra un mensaje si el tiempo es mayor a 50 horas.
13. Clase ModuloLunar
Simula un módulo lunar que puede aterrizar o no según su combustible.
class ModuloLunar:
def __init__(self, nombre, combustible):
self.nombre = nombre
self.combustible = combustible
def aterrizar(self):
if self.combustible >= 300:
print(self.nombre, "puede aterrizar en la Luna")
else:
print(self.nombre, "no tiene suficiente combustible para aterrizar")
modulo1 = ModuloLunar("Orion", 250)
modulo1.aterrizar()
Actividad
Agregar:
- un método
recargar_combustible(cantidad) - un método
gastar_combustible(cantidad)
14. Relación entre clases: misión y astronauta
Muestra de cómo se relacionan objetos.
class Astronauta:
def __init__(self, nombre):
self.nombre = nombre
class Mision:
def __init__(self, nombre):
self.nombre = nombre
self.tripulacion = []
def agregar_astronauta(self, astronauta):
self.tripulacion.append(astronauta)
def mostrar_tripulacion(self):
print("Misión:", self.nombre)
print("Tripulación:")
for astronauta in self.tripulacion:
print("-", astronauta.nombre)
a1 = Astronauta("Elena")
a2 = Astronauta("Marco")
m1 = Mision("Artemis IV")
m1.agregar_astronauta(a1)
m1.agregar_astronauta(a2)
m1.mostrar_tripulacion()
Actividades
- Agrega 3 astronautas más.
- Muestra cuántos astronautas hay en la misión.
- Imprime un mensaje si hay más de 4 tripulantes.
15. Simulador básico de misión Artemis
Une varias clases en un solo ejercicio.
class Cohete:
def __init__(self, nombre, combustible):
self.nombre = nombre
self.combustible = combustible
def listo_para_despegue(self):
return self.combustible >= 1000
class Astronauta:
def __init__(self, nombre):
self.nombre = nombre
class Mision:
def __init__(self, nombre, cohete):
self.nombre = nombre
self.cohete = cohete
self.tripulacion = []
def agregar_astronauta(self, astronauta):
self.tripulacion.append(astronauta)
def iniciar_mision(self):
print("Misión:", self.nombre)
print("Cohete:", self.cohete.nombre)
print("Tripulación:", len(self.tripulacion))
if self.cohete.listo_para_despegue():
print("La misión puede iniciar")
else:
print("La misión no puede iniciar por falta de combustible")
cohete = Cohete("SLS", 1500)
mision = Mision("Artemis V", cohete)
mision.agregar_astronauta(Astronauta("Ana"))
mision.agregar_astronauta(Astronauta("Luis"))
mision.iniciar_mision()