LABS · JULIÁN LÓPEZ JIMÉNEZ · RECURSO GRATUITO
Escribe y ejecuta Python real sin instalar nada: de tu primer mensaje a una función que suma gastos ficticios y explica los rechazos. Cinco retos con pistas, soluciones y comprobaciones. Sin cuenta ni tarjeta.
Qué necesitas: Navegador actualizado, JavaScript, WebAssembly y conexión inicial para cargar unos 14 MB desde Labs. Recomendado ordenador con teclado. Para la guía sin conexión necesitas Python 3.12 o posterior.
Tu resultado: Una función que calcula un informe y funciona también con una lista vacía y datos nuevos.
Muestra un mensaje y diferencia código de salida. Muestra exactamente una línea: Mi primer informe con Python.
# Escribe tu primera llamada a print.
print muestra texto. El texto debe estar entre comillas rectas. Escribe print("Mi primer informe con Python").
print("Mi primer informe con Python")
Las comillas delimitan el texto y los paréntesis la llamada. Ejecutar muestra el resultado; Comprobar contrasta la misión. El código que editas no se envía a un servicio de IA.
Comprueba: Ejecuta y comprueba el contrato; repite después: Cambia una palabra y comprueba qué condición falla. Restablece la frase antes de seguir.
Calcula con una lista de céntimos ficticios. Define gastos=[250,400,150], calcula total usando sum y muestra 800.
gastos = [250, 400, 150]
# Calcula total.
Una lista usa corchetes. sum(gastos) suma sus elementos. Asigna ese cálculo a total y muestra el nombre sin comillas.
gastos = [250, 400, 150]
total = sum(gastos)
print(total)
Los importes son céntimos enteros. No sumamos las letras de una cadena. Repite con una lista distinta para comprobar que el programa calcula en lugar de imprimir una constante.
Comprueba: Ejecuta y comprueba el contrato; repite después: Añade otro gasto de 200. Predice 1000 antes de ejecutar y después vuelve a los tres datos del contrato.
Filtra ceros y negativos con un bucle. Con gastos=[200,-50,0,300], suma solo positivos en total. El resultado es 500. Conserva la lista.
gastos = [200, -50, 0, 300]
total = 0
# Recorre cada importe y decide.
Inicializa total una sola vez antes del bucle. Cada importe positivo se añade al total. La indentación define el bloque. Usa for importe in gastos y un if importe > 0 con total += importe.
gastos = [200, -50, 0, 300]
total = 0
for importe in gastos:
if importe > 0:
total += importe
print(total)
El contrato considera rechazados los valores no positivos; no es una regla universal para todos los datos monetarios. Conservar la lista permite ver qué valores se dejaron fuera. Sintaxis: for importe in gastos: recorre la lista; dentro, if importe > 0: selecciona un caso. Cada bloque añade cuatro espacios. total += importe equivale a total = total + importe.
Comprueba: Ejecuta y comprueba el contrato; repite después: Haz una versión que cuente aceptados en vez de sumarlos. ¿Por qué 2 y 500 responden preguntas distintas?
Construye un resumen con campos nombrados. Con gastos=[100,0,250,-10,150], crea informe={"total":500,"aceptados":3,"rechazados":2}. Solo acepta positivos.
gastos = [100, 0, 250, -10, 150]
# Acumula y construye informe.
Necesitas un acumulador de importe y dos contadores. El else cuenta lo que no aceptó el if. Construye el diccionario al terminar, usando los nombres como claves entre comillas.
gastos = [100, 0, 250, -10, 150]
total = 0
aceptados = 0
rechazados = 0
for importe in gastos:
if importe > 0:
total += importe
aceptados += 1
else:
rechazados += 1
informe = {"total": total, "aceptados": aceptados, "rechazados": rechazados}
print(informe)
Un total puede parecer correcto aunque se hayan ignorado entradas. El resumen informa también de cuánto se aceptó y rechazó. Se cuenta cada registro una vez. Un diccionario se escribe con llaves, claves de texto y dos puntos: {"total": total}. Las comas separan campos. else: debe alinearse con su if; sus instrucciones llevan cuatro espacios más.
Comprueba: Ejecuta y comprueba el contrato; repite después: Comprueba a mano que aceptados + rechazados coincide con el tamaño de gastos.
Convierte el ejercicio en una función y prueba datos nuevos. Define resumir(gastos), lista de enteros. Devuelve un dict total/aceptados/rechazados, aceptando solo >0. No modifica la lista. Para [] devuelve los tres campos a cero.
def resumir(gastos):
# Tu función devuelve el informe, no solo lo imprime.
pass
Empieza con la lógica del reto 4 dentro de def resumir(gastos). Inicializa todo dentro de la función para que una llamada no dependa de la anterior. Usa return después del bucle. En una lista vacía los acumuladores ya valen cero.
def resumir(gastos):
total = 0
aceptados = 0
rechazados = 0
for importe in gastos:
if importe > 0:
total += importe
aceptados += 1
else:
rechazados += 1
return {"total": total, "aceptados": aceptados, "rechazados": rechazados}
La comprobación usa otros importes y vacío: no basta con devolver el ejemplo conocido. Termina inventando tres casos y explicando sus resultados antes de consultar la solución. Estos cinco retos son gratuitos, sin necesidad de comprar el curso. def resumir(gastos): define una función; su cuerpo va indentado. return entrega el diccionario a quien llama. Para ver tu propio ejemplo, escribe fuera de la función print(resumir([10, 0])). Definirla sin llamarla no muestra salida: Comprobar sí la llama con varios datos.
Comprueba: Ejecuta y comprueba el contrato; repite después: Sin solución a la vista, prueba [0,-3], [10] y tu propia lista. Explica qué cambiarías para agrupar por categoría: ese es un siguiente paso del curso.
Repite resumir con [0,-3], [10] y una lista inventada. Predice el total y los recuentos antes de ejecutar. No uses datos personales.
def resumir(gastos):
total = 0
aceptados = 0
rechazados = 0
for importe in gastos:
if importe > 0:
total += importe
aceptados += 1
else:
rechazados += 1
return {"total": total, "aceptados": aceptados, "rechazados": rechazados}
La comprobación usa otros importes y vacío: no basta con devolver el ejemplo conocido. Termina inventando tres casos y explicando sus resultados antes de consultar la solución. Estos cinco retos son gratuitos, sin necesidad de comprar el curso. def resumir(gastos): define una función; su cuerpo va indentado. return entrega el diccionario a quien llama. Para ver tu propio ejemplo, escribe fuera de la función print(resumir([10, 0])). Definirla sin llamarla no muestra salida: Comprobar sí la llama con varios datos.
Repite con datos distintos antes de marcarlo como practicado. Esta es una autoevaluación, no una certificación.
De cero a Python amplía este recorrido con 24 misiones, ocho talleres, archivos, JSON, CSV, pruebas y un proyecto completo en el playground. Formación escrita, sin vídeos ni tutoría individual. Consulta disponibilidad, requisitos y temario. El recurso y sus soluciones siguen siendo gratuitos.
Ver el curso De cero a Python y su temarioFuente: Recurso original de Labs. Puedes guardar este HTML, abrirlo sin conexión o imprimirlo como PDF desde tu navegador. No guarda tus respuestas ni el progreso de tu cuenta.