реклама
разместить

Python на русском? Пишем Python код на русском языке

Python на русском?  Пишем Python код на русском языке

А что так можно было?

NemtyrevAI создал обертку для Python, позволяющую писать код на русском языке

Обертка принимает на вход строку с русским текстом и возвращает строку с кодом на Python, который соответствует этому тексту.

Обертка использует набор правил, которые определяют, как транслировать русские слова и символы в ключевые слова, операторы и функции Python.

Идея создать такую обертку пришла ему, когда они с командой молодых Айтишников которые тольком познают мир ИТ, изучал Python и столкнулся с трудностями в понимании английского языка.

Решили, что было бы удобно писать код на родном языке, не теряя при этом функциональности Python.

Начали искать существующие решения, но не нашел ничего подходящего. Тогда мы решили создать свою собственную обертку, которая бы удовлетворяла его потребностям.

Обертка поддерживает множество токенов русского языка, таких как "если", "иначе", "для", "пока", "печать", "ввод", "тип", "список", "словарь" и т.д.

Мы также добавили поддержку некоторых библиотек, таких как math, random, numpy, pandas и matplotlib.

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

NemtyrevAI предоставил свою обертку в открытый доступ на GitHub, где любой желающий может скачать ее, протестировать ее и внести свои предложения по улучшению.

Вот и заготовка)

import nltk from nltk.corpus import stopwords from nltk.tokenize import word_tokenize def russian_code_wrapper(code_text): # Загрузка стоп-слов для русского языка nltk.download('stopwords') stop_words = set(stopwords.words('russian')) # Токенизация текста на слова tokens = word_tokenize(code_text) # Удаление стоп-слов tokens = [word for word in tokens if word.lower() not in stop_words] # Преобразование токенов в код на Python python_code = "" for token in tokens: # Пример правил преобразования if token == "если": python_code += "if " elif token == "иначе": python_code += "else " elif token == "иначе_если": python_code += "elif " elif token == "для": python_code += "for " elif token == "в": python_code += "in " elif token == "пока": python_code += "while " elif token == "выполнить": python_code += "try:\n" elif token == "вернуть": python_code += "return " elif token == "продолжить": python_code += "continue\n" elif token == "прервать": python_code += "break\n" elif token == "печать": python_code += "print(" elif token == "ввод": python_code += "input(" elif token == "длина": python_code += "len(" elif token == "тип": python_code += "type(" elif token == "список": python_code += "list(" elif token == "словарь": python_code += "dict(" elif token == "строка": python_code += "str(" elif token == "целое": python_code += "int(" elif token == "вещественное": python_code += "float(" elif token == "булево": python_code += "bool(" elif token == "истина": python_code += "True" elif token == "ложь": python_code += "False" elif token.isdigit(): python_code += token elif token.isalpha(): python_code += token else: python_code += token python_code += " " # Дополнительные токены, которые я добавил elif token == "функция": python_code += "def " elif token == "класс": python_code += "class " elif token == "импорт": python_code += "import " elif token == "от": python_code += "from " elif token == "как": python_code += "as " elif token == "глобальный": python_code += "global " elif token == "локальный": python_code += "local " elif token == "не": python_code += "not " elif token == "и": python_code += "and " elif token == "или": python_code += "or " elif token == "принадлежит": python_code += "is " elif token == "принадлежит_не": python_code += "is not " elif token == "равно": python_code += "== " elif token == "не_равно": python_code += "!= " elif token == "больше": python_code += "> " elif token == "меньше": python_code += "< " elif token == "больше_или_равно": python_code += ">= " elif token == "меньше_или_равно": python_code += "<= " elif token == "пробовать": python_code += "try:\n" elif token == "за_исключением": python_code += "except " elif token == "наконец": python_code += "finally:\n" elif token == "вызвать": python_code += "raise " elif token == "утверждать": python_code += "assert " elif token == "с": python_code += "with " elif token == "перечислить": python_code += "enumerate(" elif token == "диапазон": python_code += "range(" elif token == "сортировать": python_code += "sorted(" elif token == "сумма": python_code += "sum(" elif token == "максимум": python_code += "max(" elif token == "минимум": python_code += "min(" elif token == "абсолютное": python_code += "abs(" elif token == "округлить": python_code += "round(" elif token == "случайный": python_code += "random." elif token == "математика": python_code += "math." elif token == "numpy": python_code += "numpy." elif token == "pandas": python_code += "pandas." elif token == "matplotlib": python_code += "matplotlib." return python_code

Пример использования :

Функция `russian_code_wrapper` принимает входной текст `code_text` на русском языке и преобразует его в код на Python. В коде я добавил примеры правил преобразования для некоторых ключевых слов и функций на русском языке.

Вы можете вызвать функцию `russian_code_wrapper` и передать ей текст на русском языке в качестве аргумента:

```python

code_text = "если a > b, печать('a больше b'), конец"

python_code = russian_code_wrapper(code_text)

print(python_code)

```

Вывод:

```python

if a > b:

print('a больше b')

```

Обратите внимание, что это простой пример, и вы можете расширить список ключевых слов и функций, а также добавить свои собственные правила преобразования, чтобы лучше соответствовать вашим потребностям.

Ещё один пример кода Python на Русском Языке )

Пример кода на русском языке, который демонстрирует использование обертки для работы с базой данных SQLite import sqlite3 def создать_таблицу(): with sqlite3.connect('mydatabase.db') as conn: cursor = conn.cursor() cursor.execute('''CREATE TABLE пользователи (id INTEGER PRIMARY KEY AUTOINCREMENT, имя TEXT, возраст INTEGER, эл_почта TEXT)''') def добавить_пользователя(имя, возраст, эл_почта): with sqlite3.connect('mydatabase.db') as conn: cursor = conn.cursor() cursor.execute("INSERT INTO пользователи (имя, возраст, эл_почта) VALUES (?, ?, ?)", (имя, возраст, эл_почта)) def получить_пользователей(): with sqlite3.connect('mydatabase.db') as conn: cursor = conn.cursor() cursor.execute("SELECT * FROM пользователи") rows = cursor.fetchall() for row in rows: print(row) # Исходный код на русском языке code_text = "функция создать_таблицу():" \ " с подключиться('mydatabase.db') как подключение:" \ " курсор = подключение.курсор()" \ " курсор.execute('''СОЗДАТЬ ТАБЛИЦУ пользователи" \ " (id INTEGER PRIMARY KEY AUTOINCREMENT," \ " имя TEXT," \ " возраст INTEGER," \ " эл_почта TEXT)''')" \ "" \ "функция добавить_пользователя(имя, возраст, эл_почта):" \ " с подключиться('mydatabase.db') как подключение:" \ " курсор = подключение.курсор()" \ " курсор.execute('INSERT INTO пользователи (имя, возраст, эл_почта) VALUES (?, ?, ?)', (имя, возраст, эл_почта))" \ "" \ "функция получить_пользователей():" \ " с подключиться('mydatabase.db') как подключение:" \ " курсор = подключение.курсор()" \ " курсор.execute('SELECT * FROM пользователи')" \ " строки = курсор.fetchall()" \ " для строка в строки:" \ " печать(строка)" # Преобразование в код на Python python_code = russian_code_wrapper(code_text) # Выполнение кода exec(python_code) # Пример использования функций для работы с базой данных создать_таблицу() добавить_пользователя('Иван', 25, 'ivan@example.com') добавить_пользователя('Мария', 28, 'maria@example.com') получить_пользователей()

В этом примере мы использовали обертку `russian_code_wrapper`, чтобы преобразовать исходный код на русском языке в код на Python. Затем мы выполняем код с помощью функции `exec()`. После этого мы можем использовать функции `создать_таблицу()`, `добавить_пользователя()` и `получить_пользователей()`, чтобы работать с базой данных SQLite.

Обратите внимание, что вам может потребоваться установить модуль `sqlite3` для работы с базой данных SQLite. Также не забудьте указать правильное имя файла базы данных в функциях `создать_таблицу()`, `добавить_пользователя()` и `получить_пользователей()`.

Этот пример демонстрирует, как использование русского языка может упростить написание кода и работу с базами данных на языке Python.

22
реклама
разместить
3 комментария

Конечно было бы круто иметь русский язык программирования. К сожалению не в этой Вселенной. Еще в советское время приняли странные (явно кем-то ангажированные) решения плыть вслед за американцами. Ну а нынешние умеют только бурить и качать.

ЗЫ. Для тех кто говорит, что

если сумма_заказа_больше_нуля(заказ):
оформить_заказ(заказ.номер)

это смешно, то американцы ТАК И ЧИТАЮТ...

1

"курсор.execute". Работа выполнена неполностью.
Очень похоже на язык 1С.
Не понимаю, зачем это нужно и можно ли это рассматривать, как серьёзную работу. Это удлиняет код.
По самому коду библиотеки хотелось бы порекомендовать автору почитать о стиле написания кода на языке python. Многочисленные if/else - это не стиль языка python.

Благодарю за комментарии, читайте внимательно!
Похож на 1С ? Но не 1С 😃

Для чего это создано и для каких целей, читайте выше!

Мы так-же всегда открыты для обсуждений ваших исследований, предоставите свои - мы обсудим!

К сожалению Мы ничего не нашли о вашей экспертизе и о вас 😏
Что вы сделали полезного бесплатно для образования детей?🤗
К сожалению так-же не нашли..

Мы сделали первые а вы нет🤗

PS:
Код результат исследования команды будущих разработчиков 12-13ти лет 👍💪..

Удачи в диванной экспертизе🙏

Я производил 2 млн пачек, зарабатывал 55 млн ₽, попал в топ маркетплейсов, но всему приходит конец

В 2023 я больше всех продавал на маркетплейсах в своей товарной категории, работал со всеми крупными ритейл-сетями, а всего бизнес приносил 1,1 млрд ₽ выручки и 55 млн ₽ прибыли в год.

Теперь можно и руки вытереть, и бюджет посчитать 
44
33
реклама
разместить
⭐️Сколько должен стоить доллар?💸

Применяем научный подход в определении справедливого курса

⭐️Сколько должен стоить доллар?💸
1414
AUDNZD в фокусе дня. Сезонные тенденции и вероятности на Понедельник 03.03.2025

Здравствуйте Уважаемые трейдеры! Александр Борских подготовил для Вас свежую информацию.
Очередные сезонные тенденции на Понедельник 03 Марта 2025 по основным мажорам финансовых рынков.
Весь перечень анализируемых активов указан ниже в общем количестве 61 инструмента. Здесь Вы найдете активы рынка Форекс, популярные активы Московской биржи, не менее…

Трамп заявил, что в криптовалютный резерв США войдут BTC, ETH, XRP, SOL и ADA — крипторынок отреагировал ростом

Создание резерва поспособствует развитию «критически важной индустрии».

Дополнено в 20:37 мск. Курс BTC вырос до $93,6 тысячи за монету.

99
55
22
вчера стока блинкоинов втарил что сегодня еле лежу
Курс биткоина восстановился до $95000 после сильного падения. При каких условиях стоит ожидать продолжения роста? При каких начинаем корректироваться?

В своем последнем видео-разборе я показывал условия спуска цены в район $74324-80813. Условия были выполнены, движение было исполнено. Также еще до текущего роста, находясь в блоке $74324-80813, в своем канале я показывал, почему произойдет восстановление к текущим отметкам. В каком случае рост продолжится? В каком начнем корректироваться?

33
11
Сколько стоит питание Криштиану Роналду в России, если закупаться во ВкусВилле в 2025 году

Недавно Роналду стукнуло 40 лет. В честь этого я приготовил блюда из его рациона и посчитал бюджет. В этой статье вы узнаете, чем обедает один из лучших игроков мира, и почему вы тоже так можете. В конце покажу цены и принципы питания для кубиков пресса.

Обед Роналду – 993 рубля с учетом дофига трески (я все-таки сделал бакаляу из второй рыбины)
3636
66
33
Хочется сказать, что смотря на всех успешных, профессиональных и прочих людей, не забывайте, что ВЫ это не ОНИ. И прежде чем пытаться питаться как ОНИ, лучше сходите к ГАСТРОЭНТЕРОЛОГУ. У каждого своя переносимость тех или иных продуктов и не надо строить из них себе идолов. Питайтесь вкусно и сбалансировано, а вот это всё лишь сторис для рекламы трафика в телеграм для его канала!
И так держим Великий пост
  • Булки не едим
  • Музыку не слушаем
  • Каждый день по 20 минут утром медитируем
  • Не объедаемся, всегда оставляем легкое чувство голода
  • Усердно работаем
Как же меня достали эти созвоны из кофеен!
Как же меня достали эти созвоны из кофеен!

Тренд текущего времени - впарить себя через чат с ником похожим на собачью кличку и оплатой криптой. Оплата конечно же вперед и 100%.

2020
22
11
11
Как много воды, неинтересно читать.
[]