Skip to content

PyLite - это упрощённая версия языка Python, созданная специально для обучения детей программированию. Он сохраняет синтаксис Python, убирая сложные конструкции, которые могут запутать начинающих.

License

Notifications You must be signed in to change notification settings

QueenDekim/pylite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyLite

PyPI - Version GitHub License GitHub Repo stars

PyLite - Упрощённый Python для детей 🐍✨

PyLite - это упрощённая версия языка Python, созданная специально для обучения детей программированию. Он сохраняет синтаксис Python, убирая сложные конструкции, которые могут запутать начинающих.

🌟 Особенности

  • Дружелюбный синтаксис - максимально близок к настоящему Python
  • Понятные ошибки - сообщения с эмодзи и советами на русском языке
  • Интерактивный REPL - экспериментируйте с кодом прямо в терминале
  • Безопасная среда - ограничения защищают от сложных конструкций
  • Готовые модули - math, random, time для интересных проектов

🚀 Быстрый старт

Установка

# Устанавливаем из PyPI (в venv)
pip install py-lite-edu
# Для установки глобально (в систему) 
pipx install py-lite-edu

# Или клонируем из репозитория для разработки
git clone https://github.com/QueenDekim/pylite.git
cd pylite

# Запускаем
pylite # Если устанавливали из PyPI
# Или
python -m pylite # Если использовали репозиторий 

Ваша первая программа

Создайте файл hello.pyl:

def greet(name):
    print("Привет, " + name + "!")

greet("Мир")
print("Добро пожаловать в PyLite!")

Запустите её:

python -m pylite hello.pyl  # Или `pylite hello.pyl` если установлен через PyPI

Интерактивный режим

python -m pylite    # Или просто `pylite` если установлен через PyPI
🐍 Добро пожаловать в PyLite!
Режим: базовый
Наберите 'quit()' или 'exit()' для выхода.

pyl> 2 + 3
5
pyl> print("Hello!")
Hello!

Поддержка многострочных функций в интерактивном режиме

pyl> def hello(name):
...     print("Hello,", name)
...  
<function hello>
pyl> hello(str(input("Your name: ")))
Your name: Victor
Hello, Victor

📚 Поддерживаемые конструкции

✅ Что можно использовать:

  • Переменные: x = 5, name = "Анна"
  • Типы данных: числа, строки, булевы, списки, словари
  • Операторы: +, -, *, /, ==, !=, <, >, and, or, not
  • Условия: if, elif, else
  • Циклы: for, while
  • Функции: def my_function(param):
  • Классы: простые классы с методами
  • Модули: import math, from random import randint

❌ Что НЕ поддерживается (для простоты):

  • Генераторы и декораторы
  • Множественное наследование
  • break/continue в циклах
  • Сложные конструкции типа lambda, yield
  • Работа с файлами и сетью

🎮 Примеры программ

Простой калькулятор

def add(a, b):
    return a + b

def divide(a, b):
    if b == 0:
        print("Ошибка: нельзя делить на ноль!")
        return None
    return a / b

print("10 + 5 =", add(10, 5))
print("10 / 2 =", divide(10, 2))

Игра "Угадай число"

import random

secret = random.randint(1, 10)
print("Я загадал число от 1 до 10!")

for attempt in range(3):
    guess = int(input("Твоя догадка: "))
    
    if guess == secret:
        print("🎉 Поздравляю! Ты угадал!")
        return
    elif guess < secret:
        print("📈 Больше!")
    else:
        print("📉 Меньше!")
else:
    print("Число было", secret)

Работа с классами

class Pet:
    def __init__(self, name, animal_type):
        self.name = name
        self.type = animal_type
    
    def speak(self):
        if self.type == "собака":
            print(self.name + " говорит: Гав!")
        elif self.type == "кот":
            print(self.name + " говорит: Мяу!")

my_dog = Pet("Рекс", "собака")
my_cat = Pet("Мурка", "кот")

my_dog.speak()
my_cat.speak()

🔧 Встроенные возможности

Функции

  • print() - вывод на экран
  • input() - ввод от пользователя
  • len() - длина объекта
  • range() - последовательность чисел
  • str(), int(), float() - преобразование типов
  • max(), min(), sum() - работа с числами

Модули

math - математика:

import math
print(math.pi)  # 3.14159...
print(math.sqrt(16))  # 4.0

random - случайные числа:

import random
print(random.randint(1, 6))  # Бросок кубика
print(random.choice(["красный", "синий", "зелёный"]))

time - работа с временем:

import time
print("Спим 2 секунды...")
time.sleep(2)
print("Проснулись!")

🚨 Понимание ошибок

PyLite показывает дружелюбные сообщения:

📝 Ой! Ты забыл закрыть кавычки в строке 3.
🔍 Ты забыл поставить двоеточие ':' после if в строке 5.  
🚀 Переменная 'my_var' не определена. Ты забыл её создать?
📏 Слишком много уровней вложенности (больше 3). Попробуй упростить код.

🎯 Ограничения (базовый режим)

Эти ограничения помогают сосредоточиться на основах:

  • Максимум 500 строк в программе
  • Максимум 80 символов в строке
  • Глубина вложенности до 3 уровней
  • Только простые конструкции Python

Для продвинутых учеников есть расширенный режим:

python -m pylite --mode extended my_program.pyl

📖 Документация

🧪 Тестирование

# Запуск всех тестов
python run_tests.py

# Тестирование конкретного файла
python -m pylite examples/calculator.pyl

🖥️ Интеграция с VS Code

Для удобной разработки на PyLite доступно расширение для Visual Studio Code:

  • Синтаксическая подсветка кода
  • Автодополнение встроенных функций
  • Сниппеты для быстрого создания конструкций
  • Запуск программ прямо из редактора

Расширение можно установить четырьмя способами:

  1. Из Marketplace: Откройте VS Code, перейдите в Extensions (Ctrl+Shift+X), найдите "PyLite" и установите расширение от QueenDekim.

  2. Через команду: В VS Code (Ctrl+P) выполните:

    ext install QueenDekim.pylite-language-support
    
  3. Из файла: Расширение находится в директории vscode-extension и может быть установлено как .vsix файл.

  4. По ссылке https://marketplace.visualstudio.com/items?itemName=QueenDekim.pylite-language-support.

🤝 Вклад в проект

  1. Fork репозитория
  2. Создайте ветку для новой функции
  3. Добавьте тесты для ваших изменений
  4. Убедитесь, что все тесты проходят
  5. Отправьте Pull Request

📄 Лицензия

MIT License - используйте PyLite свободно для обучения и проектов!


PyLite - делаем программирование доступным для каждого ребёнка! 🌈👨‍💻👩‍💻

About

PyLite - это упрощённая версия языка Python, созданная специально для обучения детей программированию. Он сохраняет синтаксис Python, убирая сложные конструкции, которые могут запутать начинающих.

Resources

License

Stars

Watchers

Forks

Packages

No packages published