An open API service indexing awesome lists of open source software.

https://github.com/suscersal/ru-python

транслятор rupy(перевод python на русский) в python.
https://github.com/suscersal/ru-python

python python-3 python3 rupy rus russian

Last synced: 5 days ago
JSON representation

транслятор rupy(перевод python на русский) в python.

Awesome Lists containing this project

README

          

[![Сайт](https://img.shields.io/badge/Сайт-проекта-blue.svg)](https://suscersal.github.io/ru-python/)

[![VisualStudioCode](https://custom-icon-badges.demolab.com/badge/Visual%20Studio%20Code-0078d7.svg?logo=visualstudiocode&logoColor=white)](https://marketplace.visualstudio.com/items?itemName=suscersal.russ-python)

[![MarketplaceVersion](https://vsmarketplacebadges.dev/version-short/suscersal.russ-python.svg)](https://marketplace.visualstudio.com/items?itemName=suscersal.russ-python)

[![Downloads](https://vsmarketplacebadges.dev/downloads-short/suscersal.russ-python.svg)](https://marketplace.visualstudio.com/items?itemName=suscersal.russ-python)

[![Installs](https://vsmarketplacebadges.dev/installs-short/suscersal.russ-python.svg)](https://marketplace.visualstudio.com/items?itemName=suscersal.russ-python)

[![Rating](https://vsmarketplacebadges.dev/rating-short/suscersal.russ-python.svg)](https://marketplace.visualstudio.com/items?itemName=suscersal.russ-python)

# Транслятор rupy в Python

## Готовый бинарник
**Есть скомпилированый [бинарник](https://github.com/suscersal/ru-python/blob/main/dist/rupython.exe) скомпилированный [build.py](https://github.com/suscersal/ru-python/blob/main/build.py).**
**файл запускается через передачу аргумента бинарнику. Например: ```"C:\rupython.exe" "test.rupy"```**
**Код .rupy транслируется в .py**

## Расширение для VsCode
* **[Исходники](https://github.com/suscersal/ru-python/tree/main/rus-python)**
* **В расширении есть snippets(автовставка через TAB) и syntaxes**

_если вы боитесь за свою безопасность вы сами можете собрать из исходников_

**[Пример кода для полной проверки](https://github.com/suscersal/ru-python/blob/main/test.rupy)**

```
использовать время

вывести время.время()

# ==========================================
# ТЕСТ ВСЕХ ВОЗМОЖНОСТЕЙ ЯЗЫКА RUPY
# ==========================================

# 1. ТЕСТ КЛАССОВ И МЕТОДОВ (ООП)
класс Робот
#аналог __init__
создать имя модель
это.имя = имя
это.модель = модель
это.энергия = 100
это.инвентарь = []
конец

функция статус
вывести "--- ОТЧЕТ СИСТЕМЫ ---"
вывести "Имя: " + это.имя
вывести "Заряд: " + str(это.энергия) + "%"
вывести "Предметы: " + str(это.инвентарь)
конец

функция взять_вещь предмет
это.инвентарь.добавить предмет
вывести это.имя + " положил в сумку: " + предмет
конец

функция работа задача
если это.энергия > 20
вывести "Выполняю: " + задача
это.энергия = это.энергия - 30
иначе
вывести "НИЗКИЙ ЗАРЯД! Работа невозможна."
конец
конец
конец

# 2. ТЕСТ ОБЫЧНЫХ ФУНКЦИЙ
функция расчет_мощности а б
вернуть а * б
конец

# 3. ОСНОВНАЯ ЛОГИКА
вывести " === ЗАПУСК ПРОГРАММЫ RUPY ==="

# Тест ввода
ввод оператор "Представьтесь, создатель: "
вывести "Приветствую, " + оператор + "!"

# Тест создания объекта
пусть бот = Робот("Валли", "Уборщик")

# Тест работы со списками и методами
бот.взять_вещь "Старая ложка"
бот.взять_вещь "Растение"
бот.взять_вещь "Болт"

# Тест удаления из списка
вывести "Нужно выкинуть мусор..."
бот.инвентарь.удалить "Болт"

# Тест циклов (3 раза)
вывести "Проверка моторов..."
3 раз
вывести "Пип-буп!"
конец

# Тест циклов со счетчиком
пусть итераций = 2
номер итераций раз
вывести "Шаг теста № " + str(номер + 1)
конец

# ==========================================
# НОВЫЙ БЛОК: ТЕСТ ЛОГИЧЕСКИХ ОПЕРАТОРОВ
# ==========================================
вывести "--- ТЕСТ ЛОГИКИ ---"
пусть доступ_разрешен = Истина
пусть система_сломана = Ложь

если доступ_разрешен и не система_сломана
вывести "Логика И и НЕ работает: Доступ в систему открыт!"
конец

пусть заряд_аккумулятора = 15
пусть критический_режим = Истина

если заряд_аккумулятора < 20 или критический_режим
вывести "Логика ИЛИ работает: Робот переходит в энергосбережение!"
конец

# ==========================================
# НОВЫЙ БЛОК: ТЕСТ СИСТЕМЫ С ФАЙЛАМИ
# ==========================================
вывести "--- ТЕСТ СИСТЕМЫ ФАЙЛОВ ---"

# Тест записи в файл
открыть("лог_робота.txt","запись") как файл_логирования
файл_логирования.вывести "Запись №1: Робот успешно инициализирован.\n"
файл_логирования.вывести "Запись №2: Обнаружен русский текст в файлах!\n"
конец

вывести "Файл успешно записан!"

# Тест чтения из файла
открыть("лог_робота.txt","чтение") как читаемый_файл
пусть лог_данные = читаемый_файл.прочитать()
вывести "Содержимое созданного файла:"
вывести лог_данные
конец

# ==========================================
# ОКОНЧАНИЕ ТЕСТА
# ==========================================

# Тест условий и математики
пусть рез = расчет_мощности 10 5
если рез > 40
вывести "Мощность в норме: " + str(рез)
конец

# Тест обработки ошибок (Try/Except)
попробовать
вывести "Проверка деления на ноль..."
пусть ошибка = 10 / 0
отловить Ошибка как и
вывести "ОШИБКА: Система перехватила деление на ноль!"
вывести и
конец

# Финальный статус
бот.работа "Уборка мусора"
бот.статус()

вывести "=== ТЕСТ ЗАВЕРШЕН УСПЕШНО ==="

```