Skip to content

suscersal/ru-python

Repository files navigation

Сайт

VisualStudioCode

MarketplaceVersion

Downloads

Installs

Rating

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

Готовый бинарник

Есть скомпилированый бинарник скомпилированный build.py. файл запускается через передачу аргумента бинарнику. Например: "C:\rupython.exe" "test.rupy" Код .rupy транслируется в .py

Расширение для VsCode

  • Исходники
  • В расширении есть snippets(автовставка через TAB) и syntaxes

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

Пример кода для полной проверки

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

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

# ==========================================
# ТЕСТ ВСЕХ ВОЗМОЖНОСТЕЙ ЯЗЫКА 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
отловить Ошибка как и
    вывести "ОШИБКА: Система перехватила деление на ноль!"
    вывести и
конец

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

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Contributors