Skip to main content

Исполнитель кода Русского Питона

Project description

Русская версия языка Python, реализованная в виде транслятора кода в код Python. Транслятор устанавливается как пакет соответствующей командой:

pip install rupython

Русский Питон почти полностью идентичен оригинальному языку с англоязычной лексической базой, основное отличие заключается в использовании русских названий для именования сущностей в коде. Данный инструмент создан для достижения двух целей:

  • Повышение производительности труда работников, выполняющих задачи автоматизации процессов и формализации алгоритмов, за счёт применения лексики на родном им языке, что априори повышает усвоение и читаемость кода.
  • Упрощение освоения навыков алгоритмизации и составления компьютерных программ учащимися путём устранения искусственного препятствия в виде необходимости оперировать лексикой иностранного языка.

Код модулей Русского Питона размещается в файлах с расширением .крп. Для интеграции в операционную систему необходимо ассоциировать эти файлы с транслятором. Например, для ОС Windows это выполняется следующими консольными командами:

assoc .крп = "Код на Русском Питоне"
ftype "Код на Русском Питоне"=py -m rupython "%%1" %%*

Приложения на Русском Питоне могут использовать все возможности оригинального Python, включая всё богатство подключаемых пакетов и библиотек. Код может быть написан на обоих вариантах языка.

Пример кода

Функция НОД(*числа):
    f = фун a, b: a если b == 0 иначе f(b, a % b)
	Вернуть Свёртка(фун a, b: f(a, b), числа)

Функция НОК(*числа):
	числа = Множ(числа)
	n = n_ = Макс(числа)
	числа.Удалить(n)
	Пока Любое(n % m для m в числа): n += n_
	Вернуть n

Обзор особенностей языка

Основные встроенные типы данных:
  • Числовые: Цел, Вещ, Компл.
  • Логический: Логич – значения Да и Нет.
  • Неопределённое (пустое) значение: Пусто.
  • Строковый (текстовый): Строка.
  • Последовательности: Список, Кортеж, Ряд (диапазон).
  • Ассоциативный массив: Словарь.
  • Множества: Множ и НеизмМнож.
  • Байтовые: Байты и БайтМассив.

Далее представлены примеры кода, демонстрирующие использование наиболее важных языковых конструкций.

Условие:
Если x > 0:
	зн = 1
АЕсли x < 0:
	зн = -1
Иначе:
	зн = 0
Цикл перебора:
Для перем из Ряд(10):
	Вывести(перем)
Цикл с предусловием:
Пока x < знач:
	x += y
	Если x == z: Продолжить
Цикл с послеусловием:
Повторять:
	x *= z
	Если x >= y: Прервать
До x > знач
Цикл со счётчиком:
Цикл i = 0 : i < 10 : i += 1:
	Вывести(i)
Импорт:
Из Пакет_1 подключить Модуль_1, Модуль_2
Подключить Модуль_3 как М3
Логические операции:
v = не x и (y или z)
u = w в сп1 и w не в сп2
k = l это m и m это не n
Функция:
Функция F(a, b):
	Если a == b: Вернуть Да
    Иначе: Вернуть Нет
Функция Пример(парам):
	Для сч из Ряд(парам):
		Если парам[сч] == 0: Возврат
Генераторы
Функция Фиб(n):
    a, b = 0, 1
    Для _ из Ряд(n):
        Выдать a
        a, b = b, a + b
кв_ч = (сч ** 2 для сч в Ряд(1, 10))
Класс
Класс Пример(Другой_класс):
	Функция __Подготовка__(здесь, перем = 0):
		здесь.зн = перем

Объект = Пример(1)
Значение по условию
перем = 0 если x == зн иначе 1
Пропуск действия и удаление переменной
Если x == 1: Пропустить
Иначе: Удалить y
Краткое условие
перем = 1 если x > 0 иначе 0
Пропуск действия и удаление переменной
Если x == 1: Пропустить
Иначе: Удалить y
Безымянная (λ) функция
В_квадрат = фун x: x ** 2
Обработка исключений:
Попробовать:
	ч = Цел(строка)
ПриИсключении ОшибкаЗначения:
	Вывести('Ошибка.')
Иначе: Вывести('Сработало.')
ВКонце: Вывести('Выполнено.')

Если Тип(x) != Стр:
	Бросить ОшибкаЗначения
Области видимости
x = 0

Функция Внешняя():
	y = 1
	Функция Внутренняя():
		Общее x
		НеМестное y
		x = y
	Внутренняя()
Проверка существования переменной:
Если $Переменная?: Вывести('Существует.')
Обёртка (декоратор) функции
Функция Обёртка(Ф):
    Функция ФО():
        Вывести('1')
        Ф()
    Вернуть ФО

@Обёртка
Функция Проверка(): Вывести('2')
Конструкция выбора
Выбрать x:
	При 1: зн = '+'
	При -1: зн = '-'
	При _: зн = '0'
Контекстный менеджер
ВКонтексте Открыть('Файл.дан', 'r') как файл:
	Пока стр := файл.Читать_строку():
		Вывести(стр.Удалить_по_бокам())
Проверка условия
Функция Разделить(x, y):
	Проверить y != 0, 'Деление на 0.'
	Вернуть x / y

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rupython-1.0.6.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rupython-1.0.6-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file rupython-1.0.6.tar.gz.

File metadata

  • Download URL: rupython-1.0.6.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.8.6

File hashes

Hashes for rupython-1.0.6.tar.gz
Algorithm Hash digest
SHA256 175e2f9a3d138b1dfae1ea37eb3fb9885f42517544c52dc5f54d7a232ae781bf
MD5 4e560bc710251b1f1f2898a47ac800e3
BLAKE2b-256 1fdb019c5227cd66d5c081fe3708d40808cc9afa98530acaad807d38c0409f66

See more details on using hashes here.

File details

Details for the file rupython-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: rupython-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.8.6

File hashes

Hashes for rupython-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f38e56a10632524d029bd942f62df2a03000e6451c834c54887005dfa7468003
MD5 1c41aece3be139067a6567560eff4d5f
BLAKE2b-256 2a105e159c894b2a2e26d9367ef45779a109cf5bb76435ad892f356ad46560c1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page