Cómo usar el compilador de Python online
- Escribe o pega tu código en el editor. La página empieza con un ejemplo corto; Restablecer ejemplo lo recupera en cualquier momento.
- Si tu programa llama a
input(), escribe las respuestas en el cuadro Entrada (stdin), debajo de la salida, una línea por cada llamada ainput(). - Pulsa Ejecutar o usa Ctrl + Enter (⌘ + Enter en Mac).
- Consulta el resultado en el panel Salida. Todo lo que se imprime en
stderr, incluidos los tracebacks, se resalta como error. - Elige un límite de tiempo de 5, 15 o 60 segundos. Si un script tarda más (por ejemplo, un
while True:accidental), se detiene automáticamente. También puedes pulsar Detener en cualquier momento.
La primera ejecución descarga el entorno de ejecución de Python, de unos 10 MB. El navegador lo guarda en caché, así que las ejecuciones siguientes arrancan mucho más rápido. Usa Copiar o main.py para guardar tu script.
Tu código nunca sale de tu dispositivo. Python se ejecuta dentro de tu navegador en un Web Worker, así que no se sube ni se guarda nada en nuestros servidores. El editor recuerda tu último código en el almacenamiento local del navegador, y en ningún otro sitio.
Qué admite
El compilador usa Python 3.12 mediante Pyodide 0.26, el intérprete CPython compilado a WebAssembly. Es CPython de verdad, no una imitación parecida a Python, así que el lenguaje se comporta exactamente igual que en tu ordenador.
- La biblioteca estándar:
math,collections,itertools,datetime,json,re,dataclasses,statisticsy más. - Carga automática de paquetes: cuando tu código importa un paquete que ofrece Pyodide, como NumPy o pandas, se descarga al momento. Hay disponibles muchos paquetes científicos y de Python puro.
- Entrada estándar con
input()ysys.stdin, alimentada desde el cuadro stdin. async/await: el código se ejecuta conrunPythonAsync, así que funciona unawaiten el nivel superior.
Limitaciones que debes tener en cuenta:
- Sin sockets de red. Módulos como
socket,urllib.requestyrequestsno pueden abrir conexiones desde aquí. - Sin archivos persistentes. Puedes crear y leer archivos con
open(), pero viven en memoria y se pierden al recargar la página o pulsar Detener. - Los gráficos no se muestran. Puedes importar matplotlib, pero no se muestra ninguna figura, así que imprime números o tablas en su lugar.
- No se pueden instalar paquetes con código nativo que Pyodide no incluya.
Referencia rápida de Python
from dataclasses import dataclass
@dataclass
class Item:
name: str
price: float
cart = [Item("pen", 1.5), Item("book", 12.0)]
total = sum(i.price for i in cart)
print(f"{len(cart)} items, total {total:.2f}")
if total > 10 and cart:
print("Free shipping!")
| Tarea | Sintaxis |
|---|---|
| Imprimir texto con formato | print(f"{x:.2f}") |
| Leer una línea de entrada | name = input("Name? ") |
| Convertir la entrada en un número | n = int(input()) |
| Comprensión de listas | [x * 2 for x in data if x > 0] |
| Recorrer un diccionario | for k, v in d.items(): |
| Gestionar un error | try: ... except ValueError as e: ... |
Consejos
- Si tu programa pide datos más veces de las líneas que tiene el cuadro stdin, Python lanza
EOFError. Añade una línea por cada llamada ainput(). - Las importaciones grandes, como pandas, tardan unos segundos la primera vez. La descarga cuenta para el límite de tiempo, así que elige 60 s para scripts pesados.
- Cada ejecución empieza con variables nuevas, pero los módulos que ya has importado siguen cargados, así que las ejecuciones repetidas son rápidas.
- ¿Trabajas con salida JSON? Pégala en el formateador JSON para darle formato y validarla.
Preguntas frecuentes
¿Es un intérprete de Python de verdad?
Sí. Pyodide es CPython 3.12 compilado a WebAssembly. La sintaxis, las funciones integradas y la biblioteca estándar coinciden con las de Python de escritorio. Las principales diferencias se deben a que se ejecuta en un navegador: no hay acceso a la red ni un sistema de archivos permanente.
¿Puedo usar NumPy y pandas?
Sí. Impórtalos como siempre y se descargarán la primera vez que ejecutes el código. Muchos otros paquetes científicos y de Python puro que ofrece Pyodide se cargan de la misma forma.
¿Cómo le doy datos de entrada a mi programa?
Escribe los valores en el cuadro stdin, una línea por cada llamada a input(), en el orden en que los pide tu programa. Después pulsa Ejecutar.
¿Por qué mi script se detiene a los 15 segundos?
El límite de tiempo predeterminado te protege de bucles infinitos que congelarían la pestaña. Elige 60 s en el menú del límite de tiempo para cálculos más largos.
¿Puedo ejecutar también otros lenguajes?
Sí. Prueba el compilador de JavaScript online o explora todas las herramientas para desarrolladores gratuitas.
Actualizado