Python онлайн-компілятор

Файли
Пакети · pip

Популярні пакети (numpy, pandas, matplotlib…) встановлюються самі, коли ви їх імпортуєте.

Популярні пакети
Термінал

Натисніть «Запустити» (або Ctrl+Enter), щоб побачити результат програми.

  • Ctrl + Enter · запустити
  • Популярні пакети (numpy, pandas, matplotlib…) встановлюються самі, коли ви їх імпортуєте.
Завантаження Python…main.pyUTF-8
Гарячі клавіші: Ctrl+Enter запуститиPyodide · WebAssembly

Онлайн-компілятор та інтерпретатор Python у браузері

Редактор вище запускає справжній Python 3.13 просто у вашому браузері. Напишіть код і натисніть «Запустити» — нічого не потрібно встановлювати, акаунт теж не потрібен.

Що це за інструмент

Це легке середовище для написання й запуску програм на Python: редактор із підсвічуванням синтаксису, термінал із результатами та панель файлів. Стане в пригоді, коли треба швидко перевірити фрагмент коду, потренуватися на завданні або показати комусь робочий приклад.

Ваші файли зберігаються в пам’яті браузера, тож після оновлення сторінки ви повертаєтеся до того самого коду.

Як це працює

Усередині працює Pyodide — інтерпретатор CPython, скомпільований у WebAssembly. Браузер завантажує його один раз (перший запуск може тривати кілька секунд), а далі виконує ваш код локально — на вашому комп’ютері чи телефоні.

Код не надсилається на сервер для виконання. Тому результат з’являється одразу, а програма не має доступу до файлів на вашому диску — вона бачить лише файли, створені в панелі «Файли».

Що можна робити

Інтерпретатор підтримує більшість того, що потрібно на уроках і для власних проєктів:

  • input() — програма зупиняється й чекає на відповідь, введену в терміналі.
  • Пакети без налаштувань: просто імпортуйте numpy, pandas, matplotlib, scipy чи sympy — вони встановляться самі під час першого запуску. Інші пакети з PyPI на чистому Python можна додати в панелі «Пакети» (micropip).
  • Поширення коду посиланням — кнопка «Поділитися» копіює адресу, за якою будь-хто побачить вашу програму в цьому редакторі.
  • Завантаження поточного файлу як .py, щоб працювати з ним далі в будь-якому іншому редакторі.
  • Кілька файлів в одному проєкті — створіть допоміжний модуль та імпортуйте його в main.py, читайте й записуйте текстові файли.
  • Графіки та зображення — plt.show() з matplotlib показує графік у терміналі, а збережені PNG/JPG можна відкрити в редакторі.
  • Кнопка «Зупинити» перериває програму, що застрягла в нескінченному циклі.

Обмеження

Python у браузері працює в «пісочниці», тому не все поводиться так само, як на комп’ютері:

  • Потоки й процеси (threading, multiprocessing) не працюють так, як на комп’ютері, — код виконується в одному потоці.
  • Доступ до мережі обмежений: сокетів немає, а HTTP-запити підпорядковуються правилам безпеки браузера (CORS).
  • Пакети з нативним кодом працюють лише тоді, коли їх зібрано для Pyodide (наприклад, numpy, pandas, matplotlib). TensorFlow чи tkinter недоступні.
  • Дуже важкі обчислення виконуватимуться повільніше, ніж у звичайному Python, встановленому на комп’ютері.

Для кого

Для учнів, які не можуть нічого встановити на шкільному комп’ютері, і для вчителів, які хочуть, щоб увесь клас почав урок одночасно.

Для тих, хто готується до іспиту з інформатики: тренуйте алгоритми, роботу зі списками й текстовими файлами з даними, а потім перенесіть той самий код у середовище, яке використовують на іспиті.

Для початківців, які хочуть спершу зрозуміти, чи подобається їм програмування, перш ніж налаштовувати редактор і встановлювати Python.

Приклади для запуску

Натисніть «Відкрити в редакторі», щоб завантажити приклад у файл example.py, потім запустіть його та змінюйте як завгодно.

Діалог із програмою: input()

Програма запитує дані, перетворює текст на число й відповідає.

from datetime import date

name = input("Як тебе звати? ")
year = int(input("У якому році ти народився/народилася? "))
age = date.today().year - year
print(f"Привіт, {name}! Цього року тобі виповнюється {age}.")

Списки й цикли: середня оцінка

Обчислення середнього та маленька діаграма із зірочок.

grades = [10, 9, 7, 11, 12, 8, 10]

average = sum(grades) / len(grades)
print(f"Середня: {average:.2f}")

for grade in sorted(set(grades)):
    print(grade, "*" * grades.count(grade))

Функції: прості числа

Функція, що перевіряє, чи число просте, і всі прості числа до 50.

def is_prime(n):
    if n < 2:
        return False
    d = 2
    while d * d <= n:
        if n % d == 0:
            return False
        d += 1
    return True

print([n for n in range(50) if is_prime(n)])

Запис і читання файлу

Програма створює results.txt — після запуску файл з’явиться в панелі «Файли».

with open("results.txt", "w") as f:
    for x in range(1, 6):
        f.write(f"{x} {x ** 2}\n")

with open("results.txt") as f:
    for line in f:
        x, square = line.split()
        print(f"{x}^2 = {square}")

Графік у matplotlib

Просто запустіть — matplotlib встановиться сам під час першого імпорту, а графік з’явиться в терміналі.

import matplotlib.pyplot as plt

x = list(range(-5, 6))
y = [v ** 2 for v in x]

plt.plot(x, y, marker="o")
plt.title("y = x²")
plt.grid(True)
plt.show()

Поширені запитання

Чи потрібно встановлювати Python на комп’ютер?

Ні. Інтерпретатор працює в браузері завдяки Pyodide і WebAssembly. Достатньо актуальної версії Chrome, Firefox, Edge або Safari — також на телефоні.

Чи потрібен акаунт?

Ні. Писати й запускати код можна без входу. Файли зберігаються в пам’яті браузера, тож ви побачите їх, коли повернетеся на тому самому пристрої.

Де виконується мій код?

На вашому пристрої, у браузері. Код не надсилається на сервер для виконання, а програма не має доступу до файлів на вашому диску.

Яка версія Python?

Python 3.13 (Pyodide 0.28) зі стандартною бібліотекою, тож працюють модулі math, random, datetime, collections, json та інші.

Як встановити пакет, наприклад numpy чи pandas?

Зазвичай нічого робити не треба: популярні пакети, як-от numpy, pandas, matplotlib, scipy і sympy, встановлюються самі під час першого імпорту. Інші пакети додайте в панелі «Пакети» — встановлення відбувається через micropip. Працюють пакети на чистому Python і ті, що зібрані для Pyodide.

Чи можу я поділитися своїм кодом?

Так. Натисніть «Поділитися», і посилання скопіюється в буфер обміну. Код зберігається в самому посиланні, тож той, хто його відкриє, побачить вашу програму в редакторі й одразу зможе її запустити.

Чи працює input()?

Так. Коли програма викликає input(), у терміналі з’являється поле для відповіді. Підтвердьте її клавішею Enter.

Що тут не запуститься?

Програми, що використовують потоки, мережеві сокети, вікна tkinter або нативні пакети, не зібрані для Pyodide (наприклад, TensorFlow). Для них потрібен Python, встановлений локально.