Saltar al contenido

Editor de Python

Ejecuta Python en el navegador con entrada, salida y botón de parada.

Código Python

Procesado en tu navegador.

Tab inserta cuatro espacios. Mayús + Tab sale del editor. Ctrl/⌘ + Intro ejecuta el código.

Archivos .py UTF-8 · hasta 40 000 caracteres · lectura local

Una respuesta por línea para input(). Al agotarse las líneas se genera EOFError.

40 000 caracteres de código · 10 000 de entrada · 15 segundos · 65 536 de salida

La primera ejecución descarga Pyodide 0.28.3 desde jsDelivr. El código y la entrada no se envían con esa descarga.

Salida

Ejecuta el código para ver la salida.

Cada ejecución empieza de cero. Se restringen la red, la página principal y el almacenamiento persistente. Sin pip, gráficos interactivos, sockets ni procesos de escritorio.

Ejecuta un programa pequeño

Escribe en main.py y pulsa Ejecutar Python. El ejemplo atenuado imprime un saludo y los cuadrados de 0 a 4. La primera ejecución necesita internet para descargar el motor; las siguientes en esta página reutilizan los archivos descargados. Si el campo de código está vacío, Ejecutar Python ejecuta este ejemplo y Guardar .py lo guarda. Limpiar restablece el código, la entrada y la salida.

Otro ejemplo: import statistics y después print(statistics.mean([3, 6, 9])) imprime 6. Las expresiones finales también se muestran si devuelven un valor. La salida normal y la de errores se distinguen, y el traceback indica dónde se produjo el error.

Prepara la entrada

Para name = input('Name: '), escribe un nombre en la primera línea de Entrada estándar y añade print('Hello,', name) al programa. Cada input() consume una línea; al agotarlas se genera EOFError sin abrir un diálogo.

Tab inserta cuatro espacios; Ctrl o Comando más Intro ejecuta. Guardar .py descarga el código actual. Copiar salida incluye el texto de consola y los errores capturados.

Los colores básicos distinguen palabras clave, cadenas, números y comentarios. Intro mantiene la sangría y añade cuatro espacios tras un bloque como for o if terminado en dos puntos. Mayús + Intro inserta un salto simple. Abrir .py lee un archivo UTF-8 localmente y pide confirmación antes de reemplazar código escrito. Los archivos inválidos o grandes conservan tu código.

Detén y reinicia

Detener termina el worker incluso en un bucle while True. La siguiente ejecución crea una sesión nueva. El límite de 15 segundos empieza tras iniciar el motor; la salida se limita a 65 536 caracteres. Editar código o entrada cancela la ejecución y borra el resultado anterior.

Variables, importaciones y archivos no persisten entre ejecuciones. Incluye todo el programa en el editor. Grandes asignaciones de memoria aún pueden agotar el dispositivo; usa ejemplos pequeños, especialmente en móviles.

Compatibilidad y privacidad

Se usa la biblioteca estándar incluida en Pyodide 0.28.3: módulos como math, random, statistics y json. No se cargan NumPy ni paquetes pip. No hay ventanas de escritorio, procesos del sistema, sockets TCP ni gráficos interactivos.

El código se ejecuta en un worker dentro de un entorno aislado de origen opaco y con política restrictiva. Se bloquean las solicitudes externas del código. La página descarga el motor de jsDelivr sin adjuntar tu programa ni entrada. No se necesita cuenta ni una API de ejecución.

Pyodide 0.28.3 · GitHub · MPL-2.0

Preguntas frecuentes

¿Por qué tarda la primera ejecución?

El navegador descarga e inicia Python y WebAssembly. Si falla, vuelve a pulsar Ejecutar Python.

¿Puedo instalar paquetes?

No. Solo se admite la biblioteca estándar incluida.

¿Por qué desapareció una variable?

Cada ejecución empieza en una sesión nueva. Incluye su asignación en el programa.

¿Funciona sin conexión o en móvil?

La primera descarga necesita internet. La interfaz se adapta a pantallas pequeñas; memoria y WebAssembly dependen del dispositivo.