rupython 1.1.9__py3-none-any.whl → 1.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
rupython/__main__.py CHANGED
@@ -13,18 +13,4 @@ def Перехватчик_прерывания_клавиатурой(тип_и
13
13
  Исходник = Преобразователь.Преобразовать_код(Путь_к_файлу)
14
14
  if Исходник: Преобразователь.Запустить_код(Название_файла, Исходник, Путь_к_файлу)
15
15
 
16
- def Ожидать_нажатие_клавиши(сообщение):
17
- if ОС.name == 'nt':
18
- import msvcrt
19
- print('\n' + сообщение)
20
- msvcrt.getch()
21
- else:
22
- import tty
23
- import termios
24
- print('\n' + сообщение)
25
- fd = Система.stdin.fileno()
26
- old_settings = termios.tcgetattr(fd)
27
- try: tty.setraw(fd); Система.stdin.read(1)
28
- finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
29
-
30
- Ожидать_нажатие_клавиши('=== Исполнение кода завершено. Нажмите любую клавишу для выхода. ===')
16
+ Преобразователь.Ожидать_нажатие_клавиши('=== Исполнение кода завершено. Нажмите любую клавишу для выхода. ===')
@@ -14,13 +14,15 @@ import re as РегВыр
14
14
 
15
15
  Словарь_перевода = {
16
16
  'НАЧАТЬ': 'BEGIN',
17
- 'ЗАВЕШИТЬ': 'END',
17
+ 'ЗАВЕРШИТЬ': 'END',
18
18
  'ТРАНЗАКЦИЮ': 'TRANSACTION',
19
+ 'УТВЕРДИТЬ': 'COMMIT',
19
20
  'ОТЛОЖЕННО': 'DEFERRED',
20
21
  'НЕМЕДЛЕННО': 'IMMEDIATE',
21
22
  'ИСКЛЮЧИТЕЛЬНО': 'EXCLUSIVE',
22
23
  'ОТКАТИТЬ': 'ROLLBACK',
23
24
  'ТОЧКА_СОХРАНЕНИЯ': 'SAVEPOINT',
25
+ 'НАСТРОИТЬ': 'PRAGMA',
24
26
 
25
27
  'ВЫБРАТЬ': 'SELECT',
26
28
  'ИЗ': 'FROM',
@@ -48,23 +50,36 @@ import re as РегВыр
48
50
  'ПЕРЕКРЁСТНО': 'CROSS',
49
51
  'ИСПОЛЬЗУЯ': 'USING',
50
52
 
53
+ 'ВСТАВИТЬ ИЛИ ___ В': 'INSERT OR ___ INTO',
51
54
  'ДОБАВИТЬ В': 'INSERT INTO',
52
55
  'ЗНАЧЕНИЯ': 'VALUES',
53
56
  'ИЗМЕНИТЬ': 'UPDATE',
54
57
  'УСТАНОВИВ': 'SET',
55
58
  'УДАЛИТЬ': 'DELETE',
59
+ 'ПРИ КОНФЛИКТЕ': 'ON CONFLICT',
60
+ 'ВЫПОЛНЯТЬ': 'DO',
61
+ 'НИЧЕГО': 'NOTHING',
62
+ 'ПРОПУСТИТЬ': 'IGNORE',
63
+ 'ПРЕРВАТЬ': 'ABORT',
64
+ 'ЗАМЕНИТЬ': 'REPLACE',
65
+ 'ОТКАТИТЬ': 'ROLLBACK',
66
+ 'СБОЙ': 'FAIL',
56
67
 
57
68
  'ИЗМЕНИТЬ ТАБЛИЦУ': 'ALTER TABLE',
58
69
  'ИЗМЕНИТЬ СТОЛБЕЦ': 'ALTER COLUMN',
59
70
  'СОЗДАТЬ': 'CREATE',
60
71
  'БАЗУ ДАННЫХ': 'DATABASE',
61
72
  'ТАБЛИЦУ': 'TABLE',
73
+ 'ВРЕМЕННУЮ': 'TEMPORARY',
62
74
  'ДОБАВИВ': 'ADD',
63
75
  'УДАЛИВ': 'DROP',
64
76
  'ИНДЕКС': 'INDEX',
77
+ 'СХЕМУ': 'SCHEME',
78
+ 'ТАБЛИЦУ': 'TABLE',
65
79
  'УНИКАЛЬНЫЙ': 'UNIQUE',
66
80
  'ПРЕДСТАВЛЕНИЕ': 'VIEW',
67
81
  'СТОЛБЕЦ': 'COLUMN',
82
+ 'СТРОГО': 'STRICT',
68
83
 
69
84
  'ЯВЛЯЕТСЯ ПУСТЫМ': 'IS NULL',
70
85
  'НЕ ЯВЛЯЕТСЯ ПУСТЫМ': 'IS NOT NULL',
@@ -77,6 +92,7 @@ import re as РегВыр
77
92
  'В': 'IN',
78
93
  'ЕСЛИ': 'IF',
79
94
  'СУЩЕСТВУЕТ': 'EXISTS',
95
+ 'БЕЗ': 'WITHOUT',
80
96
 
81
97
  'ОПРЕДЕЛИВ': 'WITH',
82
98
  'ВЫБОР': 'CASE',
@@ -105,11 +121,12 @@ import re as РегВыр
105
121
  'САМОУВЕЛИЧИВАЮЩЕЕСЯ': 'AUTO_INCREMENT',
106
122
  'ССЫЛАЕТСЯ НА': 'REFERENCES',
107
123
 
124
+ 'ОТОБРАВ': 'FILTER',
108
125
  'КОЛИЧЕСТВО': 'COUNT',
109
126
  'СУММА': 'SUM',
110
127
  'СРЕДНЕЕ': 'AVG',
111
- 'МИНИМУМ': 'MIN',
112
- 'МАКСИМУМ': 'MAX',
128
+ 'НАИМЕНЬШЕЕ': 'MIN',
129
+ 'НАИБОЛЬШЕЕ': 'MAX',
113
130
  'СЦЕПИТЬ': 'CONCAT',
114
131
  'ДЛИНА': 'LENGTH',
115
132
  'В_ЗАГЛАВНЫЕ': 'UPPER',
@@ -231,6 +248,24 @@ def Перевести_токены(токены):
231
248
  for длина in range(5, 0, -1):
232
249
  if i + длина <= len(токены):
233
250
  фраза = ' '.join(токены[i:i + длина]).upper()
251
+
252
+ for ключ, значение in Словарь_перевода.items():
253
+ if '___' in ключ:
254
+ шаблон = '^' + ключ.replace('___', r'(\S+)') + '$'
255
+ совпадение = re.match(шаблон, фраза)
256
+ if совпадение:
257
+ переменная = совпадение.group(1).upper()
258
+ if переменная in Словарь_перевода:
259
+ переведённая_переменная = Словарь_перевода[переменная]
260
+ переведённая_фраза = значение.replace('___', переведённая_переменная)
261
+ переведённые_токены.append(переведённая_фраза)
262
+ i += длина
263
+ найдено_ключевое_слово = True
264
+ break
265
+
266
+ if найдено_ключевое_слово:
267
+ break
268
+
234
269
  if фраза in Словарь_перевода:
235
270
  переведённые_токены.append(Словарь_перевода[фраза])
236
271
  i += длина
@@ -27,6 +27,7 @@ import re as РегВыр
27
27
  'Пропустить': 'pass',
28
28
  'Бросить': 'raise',
29
29
  'Продолжить': 'continue',
30
+ 'в': 'in',
30
31
  'Если': 'if',
31
32
  'АЕсли': 'elif',
32
33
  'Иначе': 'else',
@@ -35,16 +36,15 @@ import re as РегВыр
35
36
  'Для': 'for',
36
37
  'из': 'in',
37
38
  'для': 'for',
38
- 'в': 'in',
39
39
  'Пока': 'while',
40
40
  'Прервать': 'break',
41
- 'Проба': 'try',
42
- 'Исключение': 'except',
43
- 'ВКонце': 'finally',
41
+ 'Попробовать': 'try',
42
+ 'Перехватив': 'except',
43
+ 'Завершив': 'finally',
44
44
  'Проверить': 'assert',
45
45
  'фун': 'lambda',
46
46
  'Выдать': 'yield',
47
- 'ВКонтексте': 'with',
47
+ 'Используя': 'with',
48
48
  'Удалить': 'del',
49
49
  'Выбрать': 'match',
50
50
  'При': 'case'
@@ -638,6 +638,7 @@ def Посчитать_физические_строки(путь_к_файлу,
638
638
  r"index (\d+) is out of range": r'Индекс \1 вне допустимого диапазона.',
639
639
  r"key '(.+)' not found": r'Ключ "\1" не найден в словаре.',
640
640
  r"KeyError: '(.+)'": r'Ключ "\1" отсутствует в словаре.',
641
+ r"invalid syntax\. Perhaps you forgot a comma\?": r'Ошибочный синтаксис. Может быть, вы забыли запятую?',
641
642
  r"invalid syntax": r'Синтаксическая ошибка в коде.',
642
643
  r"expected .+, got .+": r'Ожидался один тип данных, получен другой.',
643
644
  r"int\(\) argument must be a string, a bytes-like object or a number, not '(\w+)'": r'Аргумент функции Цел() должен быть строкой, байтовым объектом или числом, а не "\1".',
@@ -0,0 +1,624 @@
1
+ Metadata-Version: 2.1
2
+ Name: rupython
3
+ Version: 1.2.1
4
+ Summary: Исполнитель кода Русского Питона
5
+ Description-Content-Type: text/markdown
6
+ License-File: LICENSE
7
+
8
+ Русская версия языка Python, реализованная в виде транслятора кода в код Python.
9
+
10
+ Русский Питон почти полностью идентичен оригинальному языку с англоязычной лексической базой, основное отличие заключается в использовании русских названий для именования сущностей в коде. Данный инструмент создан для достижения двух целей:
11
+
12
+ * Повышение производительности труда работников, выполняющих задачи автоматизации процессов и формализации алгоритмов, за счёт применения лексики на родном им языке, что априори повышает усвоение и читаемость кода.
13
+ * Упрощение освоения навыков алгоритмизации и составления компьютерных программ учащимися путём устранения искусственного препятствия в виде необходимости оперировать лексикой иностранного языка.
14
+
15
+ Приложения на Русском Питоне могут использовать все возможности оригинального Python, включая всё богатство подключаемых пакетов и библиотек. Код может быть написан на обоих вариантах языка.
16
+
17
+ ### Установка
18
+
19
+ Транслятор устанавливается как пакет соответствующей командой:
20
+
21
+ `pip install rupython`
22
+
23
+ Если "pip" выдаёт ошибку "externally-managed-environment" (под некоторыми версиями ОС Linux), то установка производится следущей командой:
24
+
25
+ `pip install rupython --break-system-packages`
26
+
27
+ Код модулей Русского Питона размещается в файлах с расширением **.крп**. Для интеграции в операционную систему необходимо ассоциировать эти файлы с транслятором. Для автоматической установки ассоциации выполните командный файл "FA_Windows.bat" или "FA_Linux.sh" в зависимости от операционной системы, размещённый вместе с исходным кодом.
28
+
29
+ Исходный код размещён тут: https://github.com/russkiy/rupython
30
+
31
+ ### Примеры кода
32
+
33
+ ```
34
+ Функция НОД(*числа):
35
+ f = фун a, b: a если b == 0 иначе f(b, a % b)
36
+ Вернуть Свёртка(фун a, b: f(a, b), числа)
37
+
38
+ Функция НОК(*числа):
39
+ числа = Множ(числа)
40
+ n = n_ = Макс(числа)
41
+ числа.Удалить(n)
42
+ Пока Любое(n % m для m в числа): n += n_
43
+ Вернуть n
44
+ ```
45
+
46
+ ```
47
+ Функция Дата_Пасхи(год, нов_ст = Пусто):
48
+ д = (год % 19 * 19 + 15) % 30
49
+ д += (год % 4 * 2 + год % 7 * 4 + 6 * д + 6) % 7
50
+ нов_ст = Да если нов_ст это Пусто и год >= 1918 иначе нов_ст
51
+ Если не нов_ст:
52
+ Если д > 9: Вернуть Строка(д - 9) + ' апреля'
53
+ Иначе: Вернуть Строка(22 + д) + ' марта'
54
+ Иначе:
55
+ п = год // 100 - год // 400 - 2
56
+ Если д > 39 - п: Вернуть Строка(д - 39 + п) + ' мая'
57
+ Иначе: Вернуть Строка(д - 9 + п) + ' апреля'
58
+ ```
59
+
60
+ ### Обзор особенностей языка
61
+
62
+ ##### Основные встроенные типы данных:
63
+
64
+ * Числовые: ```Цел```, ```Вещ```, ```Компл```.
65
+ * Логический: ```Логич``` – значения ```Да``` и ```Нет```.
66
+ * Неопределённое значение: ```Пусто``` (пустое значение, или ничего).
67
+ * Строковый (текстовый): ```Строка```.
68
+ * Последовательности: ```Список```, ```Кортеж```, ```Ряд``` (диапазон).
69
+ * Ассоциативный массив: ```Словарь```.
70
+ * Множества: ```Множ``` и ```НеизмМнож```.
71
+ * Байтовые: ```Байты``` и ```БайтМассив```.
72
+
73
+ Далее представлены примеры кода, демонстрирующие использование наиболее важных языковых конструкций.
74
+
75
+ ##### Условие:
76
+ ```
77
+ Если x > 0:
78
+ зн = 1
79
+ АЕсли x < 0:
80
+ зн = -1
81
+ Иначе:
82
+ зн = 0
83
+ ```
84
+
85
+ ##### Цикл перебора:
86
+ ```
87
+ Для перем из Ряд(10):
88
+ Вывести(перем)
89
+ ```
90
+
91
+ ##### Цикл с предусловием:
92
+ ```
93
+ Пока x < знач:
94
+ x += y
95
+ Если x == z: Продолжить
96
+ ```
97
+
98
+ ##### Цикл с послеусловием:
99
+ ```
100
+ Повторять:
101
+ x *= z
102
+ Если x >= y: Прервать
103
+ До x > знач
104
+ ```
105
+
106
+ ##### Цикл со счётчиком:
107
+ ```
108
+ Цикл i = 0 : i < 10 : i += 1:
109
+ Вывести(i)
110
+ ```
111
+
112
+ ##### Импорт:
113
+ ```
114
+ Из Пакет_1 подключить Модуль_1, Модуль_2
115
+ Подключить Модуль_3 как М3
116
+ ```
117
+
118
+ ##### Логические операции:
119
+ ```
120
+ v = не x и (y или z)
121
+ u = w в сп1 и w не в сп2
122
+ k = l это m и m это не n
123
+ ```
124
+
125
+ ##### Функция:
126
+ ```
127
+ Функция F(a, b):
128
+ Если a == b: Вернуть Да
129
+ Иначе: Вернуть Нет
130
+ ```
131
+
132
+ ```
133
+ Функция Пример(парам):
134
+ Для сч из Ряд(парам):
135
+ Если парам[сч] == 0: Возврат
136
+ ```
137
+
138
+ ##### Генераторы
139
+ ```
140
+ Функция Фиб(n):
141
+ a, b = 0, 1
142
+ Для _ из Ряд(n):
143
+ Выдать a
144
+ a, b = b, a + b
145
+ ```
146
+ ```
147
+ кв_ч = (сч ** 2 для сч из Ряд(1, 10))
148
+ ```
149
+
150
+ ##### Класс
151
+ ```
152
+ Класс Пример(Другой_класс):
153
+ Функция __Подготовка__(здесь, перем = 0):
154
+ здесь.зн = перем
155
+
156
+ Объект = Пример(1)
157
+ ```
158
+
159
+ ##### Значение по условию
160
+ ```
161
+ перем = 0 если x == зн иначе 1
162
+ ```
163
+
164
+ ##### Пропуск действия и удаление переменной
165
+ ```
166
+ Если x == 1: Пропустить
167
+ Иначе: Удалить y
168
+ ```
169
+
170
+ ##### Краткое условие
171
+ ```
172
+ перем = 1 если x > 0 иначе 0
173
+ ```
174
+
175
+ ##### Пропуск действия и удаление переменной
176
+ ```
177
+ Если x == 1: Пропустить
178
+ Иначе: Удалить y
179
+ ```
180
+
181
+ ##### Безымянная (λ) функция
182
+ ```
183
+ В_квадрат = фун x: x ** 2
184
+ ```
185
+
186
+ ##### Обработка исключений
187
+ ```
188
+ Попробовать:
189
+ ч = Цел(строка)
190
+ Перехватив ОшибкаЗначения:
191
+ Вывести('Ошибка.')
192
+ Иначе: Вывести('Сработало.')
193
+ Завершив: Вывести('Выполнено.')
194
+
195
+ Если Тип(x) != Стр:
196
+ Бросить ОшибкаЗначения
197
+ ```
198
+
199
+ ##### Области видимости
200
+ ```
201
+ x = 0
202
+
203
+ Функция Внешняя():
204
+ y = 1
205
+ Функция Внутренняя():
206
+ Общее x
207
+ НеМестное y
208
+ x = y
209
+ Внутренняя()
210
+ ```
211
+
212
+ ##### Проверка существования переменной:
213
+ ```
214
+ Если $Переменная?: Вывести('Существует.')
215
+ ```
216
+
217
+ ##### Обёртка (декоратор) функции
218
+ ```
219
+ Функция Обёртка(Ф):
220
+ Функция ФО():
221
+ Вывести('1')
222
+ Ф()
223
+ Вернуть ФО
224
+
225
+ @Обёртка
226
+ Функция Проверка(): Вывести('2')
227
+ ```
228
+
229
+ ##### Конструкция выбора
230
+ ```
231
+ Выбрать x:
232
+ При 1: зн = '+'
233
+ При -1: зн = '-'
234
+ При _: зн = '0'
235
+ ```
236
+
237
+ ##### Контекстный менеджер
238
+ ```
239
+ ВКонтексте Открыть('Файл.дан', 'r') как файл:
240
+ Пока стр := файл.Читать_строку():
241
+ Вывести(стр.Удалить_по_бокам())
242
+ ```
243
+
244
+ ##### Проверка условия
245
+ ```
246
+ Функция Разделить(x, y):
247
+ Проверить y != 0, 'Деление на 0.'
248
+ Вернуть x / y
249
+ ```
250
+
251
+ ---
252
+
253
+ ### Встроенные функции и обёртки
254
+
255
+ ###### `АбсЗнач(x)`
256
+ Возвращает модуль (абсолютное значение) числа `x`.
257
+
258
+ ###### `АсПеребиратель(асинхр_перебираемое)`
259
+ Создаёт асинхронный перебиратель из асинхронно перебираемого объекта.
260
+
261
+ ###### `Все(перебираемое)`
262
+ Возвращает `Да`, если все элементы перебираемого истинны, иначе `Нет`.
263
+
264
+ ###### `Любое(перебираемое)`
265
+ Возвращает `Да`, если хотя бы один элемент перебираемого истинный.
266
+
267
+ ###### `АсСледущий(асинхр_перебиратель[, по_умолчанию])`
268
+ Возвращает следующий элемент асинхронного перебирателя. Если элементы закончились и задан `по_умолчанию`, возвращает его.
269
+
270
+ ###### `В7битовСимв(объект)`
271
+ Возвращает строковое представление объекта из 7-битовых символов, экрануя остальные.
272
+
273
+ ###### `Двоич(x)`
274
+ Преобразует целое число `x` в строку его двоичного представления.
275
+
276
+ ###### `Логич(объект = Нет)`
277
+ Возвращает `Да`, если объект логически истинный, иначе `Нет`.
278
+
279
+ ###### `Останов(*ПА, **ИА)`
280
+ Запускает отладчик в текущей точке выполнения.
281
+
282
+ ###### `БайтМассив([источник = ''[, кодование[, при_ошибках]]])`
283
+ Создаёт изменяемый массив байтов. При передаче строки — кодует её.
284
+
285
+ ###### `Байты([источник = ''[, кодование[, при_ошибках]]])`
286
+ Создаёт неизменяемую последовательность байтов.
287
+
288
+ ###### `Вызываемое(объект)`
289
+ Проверяет, можно ли объект вызвать как функцию.
290
+
291
+ ###### `Код_в_знак(i)`
292
+ Возвращает многобайтовый символ по его числовому коду.
293
+
294
+ ###### `@Метод_класса`
295
+ Обёртка (декоратор), делающая функцию методом класса (первый аргумент — сам класс).
296
+
297
+ ###### `Собрать_код(исходник, название_файла, режим, флаги = 0, не_наследовать = Нет, оптимизация = -1)`
298
+ Компилирует строку в объект кода.
299
+
300
+ ###### `Компл(число = 0 | строка | действ_часть = 0, мнимая_часть = 0)`
301
+ Создаёт комплексное число из строки, числа или пары вещественных частей.
302
+
303
+ ###### `Удалить_поле(объект, название)`
304
+ Удаляет атрибут объекта по названию.
305
+
306
+ ###### `Словарь([отображение | перебираемое], **ИА)`
307
+ Создаёт словарь. Принимает пары ключ-значение, отображение или именованные аргументы.
308
+
309
+ ###### `Содержимое([объект])`
310
+ Возвращает список доступных атрибутов объекта.
311
+
312
+ ###### `ДелОст(a, b)`
313
+ Возвращает кортеж `(a // b, a % b)` — целая часть и остаток от деления.
314
+
315
+ ###### `Перечислить(перебираемое, начало = 0)`
316
+ Возвращает пары `(индекс, элемент)` с начала `начало`.
317
+
318
+ ###### `ВычВыр(исходник, общие_сущности = Пусто, местные_сущности = Пусто)`
319
+ Вычисляет выражение из строки и возвращает результат.
320
+
321
+ ###### `ВыпКод(исходник, общие_сущности = Пусто, местные_сущности = Пусто, замыкание = Пусто)`
322
+ Выполняет код из строки. Не возвращает результат.
323
+
324
+ ###### `Фильтр(функция, перебираемое)`
325
+ Фильтрует элементы, для которых функция возвращает `Да`.
326
+
327
+ ###### `Вещ(число = 0.0 | строка)`
328
+ Преобразует аргумент в число с плавающей запятой.
329
+
330
+ ###### `Формат(значение, описание = '')`
331
+ Форматует значение по шаблону.
332
+
333
+ ###### `НеизмМнож(перебираемое = Множ())`
334
+ Создаёт неизменяемое множество.
335
+
336
+ ###### `Получить_поле(объект, название[, по_умолчанию])`
337
+ Возвращает атрибут объекта. Если не существует — возвращает `по_умолчанию`, если задано.
338
+
339
+ ###### `Общие_сущности()`
340
+ Возвращает глобальные переменные текущего контекста.
341
+
342
+ ###### `Имеет_поле(объект, название)`
343
+ Проверяет наличие атрибута у объекта.
344
+
345
+ ###### `Хэш(объект)`
346
+ Возвращает хэш-значение объекта.
347
+
348
+ ###### `Справка([запрос])`
349
+ Выводит встроенную справку.
350
+
351
+ ###### `Шестн(x)`
352
+ Преобразует число `x` в строку его шестнадцатеричного представления.
353
+
354
+ ###### `Идент(объект)`
355
+ Возвращает уникальный идентификатор объекта.
356
+
357
+ ###### `Принять(сообщение)`
358
+ Читает строку с клавиатуры. Показывает `сообщение`, если задано.
359
+
360
+ ###### `Цел(число = 0 | строка, основание = 10)`
361
+ Преобразует в целое число. Для строки можно указать основание.
362
+
363
+ ###### `Экземпляр(объект, класс)`
364
+ Проверяет, является ли объект экземпляром класса.
365
+
366
+ ###### `Подкласс(класс, надкласс)`
367
+ Проверяет, является ли `класс` подклассом `надкласс`.
368
+
369
+ ###### `Перебиратель(объект[, исключение])`
370
+ Возвращает перебиратель (итератор) по объекту.
371
+
372
+ ###### `Длина(s)`
373
+ Возвращает количество элементов в последовательности или коллекции.
374
+
375
+ ###### `Список([перебираемое])`
376
+ Создаёт список из перебираемого объекта или пустой список.
377
+
378
+ ###### `Местные_сущности()`
379
+ Возвращает словарь локальных переменных в текущем контексте.
380
+
381
+ ###### `Отображение(функция, перебираемое, *перебираемые)`
382
+ Применяет `функцию` к каждому набору элементов из `перебираемых`.
383
+
384
+ ###### `Макс((перебираемое[, если_пусто] | аргумент_1, аргумент_2, *аргументы), ф_сравнения = Пусто)`
385
+ Возвращает наибольшее значение. Можно передавать последовательность **или** несколько аргументов.
386
+
387
+ ###### `Память(объект)`
388
+ Возвращает представление объекта на уровне байтов.
389
+
390
+ ###### `Мин((перебираемое[, если_пусто] | аргумент_1, аргумент_2, *аргументы), ф_сравнения = Пусто)`
391
+ Возвращает наименьшее значение. Можно передавать последовательность **или** несколько аргументов.
392
+
393
+ ###### `Следующий(перебиратель[, по_умолчанию])`
394
+ Возвращает следующий элемент из перебирателя. Если элементов больше нет и задан `по_умолчанию`, возвращает его.
395
+
396
+ ###### `Объект()`
397
+ Базовый класс для всех объектов.
398
+
399
+ ###### `Восьм(x)`
400
+ Преобразует целое число `x` в строку его восьмеричного представления.
401
+
402
+ ###### `Открыть(название, режим = 'r', буферизация = -1, кодование = Пусто, при_ошибках = Пусто, новая_строка = Пусто, закрыть_описатель = Да, открыватель = Пусто)`
403
+ Открывает файл и возвращает файловый объект.
404
+
405
+ ###### `Знак_в_код(c)`
406
+ Возвращает многобайтовый код символа `c`.
407
+
408
+ ###### `Степень(основание, показатель, модуль = Пусто)`
409
+ Возводит число в степень с возможностью указать модуль (`a ** b % m`).
410
+
411
+ ###### `Вывести(*объекты, разделитель = ' ', в_конце = '\n', файл = Пусто, немедленно = Нет)`
412
+ Выводит значения на экран или в файл, с настройкой форматирования.
413
+
414
+ ###### `[@]Свойство(ф_получения = Пусто, ф_установки = Пусто, ф_удаления = Пусто, документация = Пусто)`
415
+ Создаёт объект свойства. Может использоваться как обёртка (декоратор).
416
+
417
+ ###### `Ряд(длина | нач, кон, шаг = 1)`
418
+ Создаёт диапазон целых чисел.
419
+
420
+ ###### `Представление(объект)`
421
+ Возвращает строковое представление объекта.
422
+
423
+ ###### `Обратить(последовательность)`
424
+ Возвращает обратный перебиратель (итератор).
425
+
426
+ ###### `Округлить(число, разрядов = Пусто)`
427
+ Округляет число до ближайшего значения с возможностью указать число знаков.
428
+
429
+ ###### `Множ([перебираемое])`
430
+ Создаёт множество (уникальные элементы без порядка).
431
+
432
+ ###### `Установить_поле(объект, название, значение)`
433
+ Устанавливает значение атрибута по названию.
434
+
435
+ ###### `Срез(длина | нач, кон, шаг = 1)`
436
+ Создаёт срез для применения к последовательностям.
437
+
438
+ ###### `Упорядочить(перебираемое, ф_сравнения, наоборот)`
439
+ Возвращает отсортованный список. Возможно сортование по ключу и в обратном порядке.
440
+
441
+ ###### `[@]Статический_метод(функция)`
442
+ Обёртка, превращающая функцию в статический метод класса.
443
+
444
+ ###### `Строка(объект[, кодование = 'utf-8', при_ошибках = 'strict')`
445
+ Преобразует объект в строку. Если объект байтовый — оборачивает его.
446
+
447
+ ###### `Сумма(перебираемое[, начало = 0])`
448
+ Возвращает сумму элементов. Можно указать начальное значение.
449
+
450
+ ###### `Надкласс([тип, порядок_поиска = Пусто])`
451
+ Возвращает объект, предоставляющий доступ к родительскому классу.
452
+
453
+ ###### `Кортеж([перебираемое])`
454
+ Создаёт кортеж (неизменяемую последовательность) из перебираемого объекта или пустой.
455
+
456
+ ###### `Тип(объект | название, надклассы, поля, **ключевые_слова)`
457
+ Возвращает тип объекта или создаёт новый.
458
+
459
+ ###### `Поля([объект])`
460
+ Возвращает словарь атрибутов объекта.
461
+
462
+ ###### `Упаковать(*перебираемые, проверить_длины = Нет)`
463
+ Объединяет элементы из нескольких источников.
464
+
465
+ ###### `Свёртка(функция, перебираемое, нач_знач = Пусто)`
466
+ Пошагово сворачивает элементы, применяя функцию: ((a, b) -> c).
467
+
468
+ ###### `@Метод_получения`
469
+ Обёртка получения значения для свойства.
470
+
471
+ ###### `@Метод_установки`
472
+ Обёртка установки значения для свойства.
473
+
474
+ ###### `@Метод_удаления`
475
+ Обёртка удаления значения для свойства.
476
+
477
+ ###### `__Подключить__(название, общие_сущности = Пусто, местные_сущности = Пусто, по_списку = 0, уровень = 0)`
478
+ Внутренняя функция импорта.
479
+
480
+ ---
481
+
482
+ ### Встроенные методы и свойства
483
+
484
+ ##### Строки (`Строка`)
485
+ Методы:
486
+
487
+ - `Найти(подстрока)`
488
+ - `Найти_с_конца(подстрока)`
489
+ - `Положение(подстрока)`
490
+ - `Положение_с_конца(подстрока)`
491
+ - `Заменить(старое, новое)`
492
+ - `Разбить(разделитель)`
493
+ - `Сцепить(список_строк)`
494
+ - `В_заглавные()`
495
+ - `В_строчные()`
496
+ - `Из_заглавных()`
497
+ - `Из_строчных()`
498
+ - `Из_цифр()`
499
+ - `Из_букв()`
500
+ - `Из_цифробукв()`
501
+ - `Из_пробелов()`
502
+ - `Слова_с_заглавных()`
503
+ - `Начинается(подстрока)`
504
+ - `Кончается(подстрока)`
505
+ - `Начать_с_заглавной()`
506
+ - `Отцентровать(ширина)`
507
+ - `Число_вхождений(подстрока)`
508
+ - `Табуляции_в_пробелы()`
509
+ - `Удалить_в_начале()`
510
+ - `Удалить_в_конце()`
511
+ - `Удалить_по_бокам()`
512
+ - `Разбить()` / `Разбить_с_конца()`
513
+ - `Обратить_регистр()`
514
+ - `Начать_слова_с_заглавных()`
515
+ - `Дополнить_нулями(ширина)`
516
+ - `Дополнить_справа(ширина)`
517
+ - `Дополнить_слева(ширина)`
518
+ - `Формат(...)` *(через ключевые аргументы)*
519
+
520
+ ##### Списки (`Список`)
521
+ Методы:
522
+
523
+ - `Добавить(значение)`
524
+ - `Очистить()`
525
+ - `Копия()`
526
+ - `Число_вхождений(значение)`
527
+ - `Дополнить(последовательность)`
528
+ - `Положение(значение)`
529
+ - `Вставить(позиция, значение)`
530
+ - `Вытащить([позиция])`
531
+ - `Удалить(значение)`
532
+ - `Обратить()`
533
+ - `Упорядочить(ключ = ..., обратно = Да|Нет)`
534
+
535
+ ---
536
+
537
+ ##### Словари (`Словарь`)
538
+ Методы:
539
+
540
+ - `Очистить()`
541
+ - `Копия()`
542
+ - `Из_ключей(ключи[, значение])`
543
+ - `Получить(ключ[, по_умолчанию])`
544
+ - `Элементы()` — пары `(ключ, значение)`
545
+ - `Ключи()` — список ключей
546
+ - `Значения()` — список значений
547
+ - `Вытащить(ключ[, по_умолчанию])`
548
+ - `Вытащить_последнее()`
549
+ - `Получить_или_добавить(ключ[, значение])`
550
+ - `Обновить(другой_словарь)`
551
+
552
+ ##### Кортежи (`Кортеж`)
553
+ Методы:
554
+
555
+ - `Положение(значение)`
556
+ - `Число_вхождений(значение)`
557
+
558
+ ##### Множества (`Множ`, `НеизмМнож`)
559
+ Методы:
560
+
561
+ - `Не_пересекаются(другое)`
562
+ - `Подмножество(другое)`
563
+ - `Надмножество(другое)`
564
+ - `Объединение(...)`
565
+ - `Пересечение(...)`
566
+ - `Разница(...)`
567
+ - `СимметрРазница(...)`
568
+ - `Копия()`
569
+
570
+ Дополнительно для `Множ`:
571
+
572
+ - `Дополнить(...)`
573
+ - `Пересечь(...)`
574
+ - `Вычесть(...)`
575
+ - `СимметрВычесть(...)`
576
+ - `Добавить(значение)`
577
+ - `Удалить(значение)`
578
+ - `Убрать(значение)`
579
+ - `Вытащить()`
580
+ - `Очистить()`
581
+
582
+ ##### Целые числа (`Цел`)
583
+ Методы:
584
+
585
+ - `Длина_в_битах()`
586
+ - `В_байты(длина, порядок = 'МлСт'|'СтМл', со_знаком = Да|Нет)`
587
+ - `Из_байтов(байты, порядок = 'МлСт'|'СтМл', со_знаком = Да|Нет)`
588
+
589
+ Свойства:
590
+
591
+ - `числитель`
592
+ - `знаменатель`
593
+
594
+ ##### Вещественные (`Вещ`)
595
+ Методы:
596
+
597
+ - `Целое()` — возвращает `Да`, если число целое
598
+ - `В_шестн()` / `Из_шестн(строка)`
599
+ - `В_дробь()` — возвращает `(числитель, знаменатель)`
600
+
601
+ ##### Комплексные (`Компл`)
602
+ Методы:
603
+
604
+ - `Cопряжённое()`
605
+
606
+ Свойства:
607
+
608
+ - `действ_часть`
609
+ - `мнимая_часть`
610
+
611
+ ##### Потоки
612
+ Методы:
613
+
614
+ - `Читать([размер])`
615
+ - `Читать_строку()`
616
+ - `Писать(данные)`
617
+ - `Позиция()` / `Задать_позицию(позиция)`
618
+ - `Изменить_размер(размер)`
619
+ - `Отделить()` — для текстовых обёрток
620
+ - `Закрыть()`
621
+
622
+ Свойства:
623
+
624
+ - `закрыт`
@@ -0,0 +1,12 @@
1
+ rupython/__main__.py,sha256=fBgJ_gMHKBOIoZZIyLDecfjuOWxIwb5N0xEphsWUUvw,1183
2
+ rupython/__Заголовочный_код__.py,sha256=VWghfQc6dv9lwIeQvJotpdOlBtHZeN00NBeL4RdWloA,10998
3
+ rupython/Преобразователь.py,sha256=JHdyCJWRBZxxm-kzBBW_pGobWJZxVaewBDdfUU2Av8E,42957
4
+ rupython/Модули/БД.py,sha256=ZgMDbvr7Q_oYY4qQVyOo7VaDjeSYRwdX8rn7Ur7SbR0,23947
5
+ rupython/Модули/Матем.py,sha256=d8ekm7GJreu7LJ9KmAKcTOciIUQ-VBI567BfK_QeLSc,3587
6
+ rupython/Модули/РегВыр.py,sha256=yeXYfeDF2qw4DSKVdZVSFInMUW52U7Nq_KOJKvm4XnM,6349
7
+ rupython/Модули/Случ.py,sha256=oeVdSdFVb4X_T-nX2P7NSIhise1zUPIS4lk7h-67XSg,2689
8
+ rupython-1.2.1.dist-info/LICENSE,sha256=iWzdt1wyTlK8qNSu7TzK8pjjIcCvLvWHycp7ACRcWEc,59
9
+ rupython-1.2.1.dist-info/METADATA,sha256=acR1BOTh-XzBZrBWBinn1-lBcFe5TrDhTbUCU7xxs-E,27473
10
+ rupython-1.2.1.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
11
+ rupython-1.2.1.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
12
+ rupython-1.2.1.dist-info/RECORD,,
@@ -1,333 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: rupython
3
- Version: 1.1.9
4
- Summary: Исполнитель кода Русского Питона
5
- Description-Content-Type: text/markdown
6
- License-File: LICENSE
7
-
8
- Русская версия языка Python, реализованная в виде транслятора кода в код Python.
9
-
10
- Русский Питон почти полностью идентичен оригинальному языку с англоязычной лексической базой, основное отличие заключается в использовании русских названий для именования сущностей в коде. Данный инструмент создан для достижения двух целей:
11
-
12
- * Повышение производительности труда работников, выполняющих задачи автоматизации процессов и формализации алгоритмов, за счёт применения лексики на родном им языке, что априори повышает усвоение и читаемость кода.
13
- * Упрощение освоения навыков алгоритмизации и составления компьютерных программ учащимися путём устранения искусственного препятствия в виде необходимости оперировать лексикой иностранного языка.
14
-
15
- Приложения на Русском Питоне могут использовать все возможности оригинального Python, включая всё богатство подключаемых пакетов и библиотек. Код может быть написан на обоих вариантах языка.
16
-
17
- ### Установка
18
-
19
- Транслятор устанавливается как пакет соответствующей командой:
20
-
21
- `pip install rupython`
22
-
23
- Если "pip" выдаёт ошибку "externally-managed-environment" (под некоторыми версиями ОС Linux), то установка производится следущей командой:
24
-
25
- `pip install rupython --break-system-packages`
26
-
27
- Код модулей Русского Питона размещается в файлах с расширением **.крп**. Для интеграции в операционную систему необходимо ассоциировать эти файлы с транслятором. Например, для ОС Windows это выполняется следующими консольными командами:
28
-
29
- ```
30
- assoc .крп = "Код на Русском Питоне"
31
- ftype "Код на Русском Питоне"=py -m rupython "%%1" %%*
32
- ```
33
-
34
- Исходный код размещён тут: https://github.com/russkiy/rupython
35
-
36
- ### Примеры кода
37
-
38
- ```
39
- Функция НОД(*числа):
40
- f = фун a, b: a если b == 0 иначе f(b, a % b)
41
- Вернуть Свёртка(фун a, b: f(a, b), числа)
42
-
43
- Функция НОК(*числа):
44
- числа = Множ(числа)
45
- n = n_ = Макс(числа)
46
- числа.Удалить(n)
47
- Пока Любое(n % m для m в числа): n += n_
48
- Вернуть n
49
- ```
50
-
51
- ```
52
- Функция Дата_Пасхи(год, нов_ст = Пусто):
53
- д = (год % 19 * 19 + 15) % 30
54
- д += (год % 4 * 2 + год % 7 * 4 + 6 * д + 6) % 7
55
- нов_ст = Да если нов_ст это Пусто и год >= 1918 иначе нов_ст
56
- Если не нов_ст:
57
- Если д > 9: Вернуть Строка(д - 9) + ' апреля'
58
- Иначе: Вернуть Строка(22 + д) + ' марта'
59
- Иначе:
60
- п = год // 100 - год // 400 - 2
61
- Если д > 39 - п: Вернуть Строка(д - 39 + п) + ' мая'
62
- Иначе: Вернуть Строка(д - 9 + п) + ' апреля'
63
- ```
64
-
65
- ### Обзор особенностей языка
66
-
67
- ##### Основные встроенные типы данных:
68
-
69
- * Числовые: ```Цел```, ```Вещ```, ```Компл```.
70
- * Логический: ```Логич``` – значения ```Да``` и ```Нет```.
71
- * Неопределённое значение: ```Пусто``` (пустое значение, или ничего).
72
- * Строковый (текстовый): ```Строка```.
73
- * Последовательности: ```Список```, ```Кортеж```, ```Ряд``` (диапазон).
74
- * Ассоциативный массив: ```Словарь```.
75
- * Множества: ```Множ``` и ```НеизмМнож```.
76
- * Байтовые: ```Байты``` и ```БайтМассив```.
77
-
78
- Далее представлены примеры кода, демонстрирующие использование наиболее важных языковых конструкций.
79
-
80
- ##### Условие:
81
- ```
82
- Если x > 0:
83
- зн = 1
84
- АЕсли x < 0:
85
- зн = -1
86
- Иначе:
87
- зн = 0
88
- ```
89
-
90
- ##### Цикл перебора:
91
- ```
92
- Для перем из Ряд(10):
93
- Вывести(перем)
94
- ```
95
-
96
- ##### Цикл с предусловием:
97
- ```
98
- Пока x < знач:
99
- x += y
100
- Если x == z: Продолжить
101
- ```
102
-
103
- ##### Цикл с послеусловием:
104
- ```
105
- Повторять:
106
- x *= z
107
- Если x >= y: Прервать
108
- До x > знач
109
- ```
110
-
111
- ##### Цикл со счётчиком:
112
- ```
113
- Цикл i = 0 : i < 10 : i += 1:
114
- Вывести(i)
115
- ```
116
-
117
- ##### Импорт:
118
- ```
119
- Из Пакет_1 подключить Модуль_1, Модуль_2
120
- Подключить Модуль_3 как М3
121
- ```
122
-
123
- ##### Логические операции:
124
- ```
125
- v = не x и (y или z)
126
- u = w в сп1 и w не в сп2
127
- k = l это m и m это не n
128
- ```
129
-
130
- ##### Функция:
131
- ```
132
- Функция F(a, b):
133
- Если a == b: Вернуть Да
134
- Иначе: Вернуть Нет
135
- ```
136
-
137
- ```
138
- Функция Пример(парам):
139
- Для сч из Ряд(парам):
140
- Если парам[сч] == 0: Возврат
141
- ```
142
-
143
- ##### Генераторы
144
- ```
145
- Функция Фиб(n):
146
- a, b = 0, 1
147
- Для _ из Ряд(n):
148
- Выдать a
149
- a, b = b, a + b
150
- ```
151
- ```
152
- кв_ч = (сч ** 2 для сч в Ряд(1, 10))
153
- ```
154
-
155
- ##### Класс
156
- ```
157
- Класс Пример(Другой_класс):
158
- Функция __Подготовка__(здесь, перем = 0):
159
- здесь.зн = перем
160
-
161
- Объект = Пример(1)
162
- ```
163
-
164
- ##### Значение по условию
165
- ```
166
- перем = 0 если x == зн иначе 1
167
- ```
168
-
169
- ##### Пропуск действия и удаление переменной
170
- ```
171
- Если x == 1: Пропустить
172
- Иначе: Удалить y
173
- ```
174
-
175
- ##### Краткое условие
176
- ```
177
- перем = 1 если x > 0 иначе 0
178
- ```
179
-
180
- ##### Пропуск действия и удаление переменной
181
- ```
182
- Если x == 1: Пропустить
183
- Иначе: Удалить y
184
- ```
185
-
186
- ##### Безымянная (λ) функция
187
- ```
188
- В_квадрат = фун x: x ** 2
189
- ```
190
-
191
- ##### Обработка исключений
192
- ```
193
- Попробовать:
194
- ч = Цел(строка)
195
- ПриИсключении ОшибкаЗначения:
196
- Вывести('Ошибка.')
197
- Иначе: Вывести('Сработало.')
198
- ВКонце: Вывести('Выполнено.')
199
-
200
- Если Тип(x) != Стр:
201
- Бросить ОшибкаЗначения
202
- ```
203
-
204
- ##### Области видимости
205
- ```
206
- x = 0
207
-
208
- Функция Внешняя():
209
- y = 1
210
- Функция Внутренняя():
211
- Общее x
212
- НеМестное y
213
- x = y
214
- Внутренняя()
215
- ```
216
-
217
- ##### Проверка существования переменной:
218
- ```
219
- Если $Переменная?: Вывести('Существует.')
220
- ```
221
-
222
- ##### Обёртка (декоратор) функции
223
- ```
224
- Функция Обёртка(Ф):
225
- Функция ФО():
226
- Вывести('1')
227
- Ф()
228
- Вернуть ФО
229
-
230
- @Обёртка
231
- Функция Проверка(): Вывести('2')
232
- ```
233
-
234
- ##### Конструкция выбора
235
- ```
236
- Выбрать x:
237
- При 1: зн = '+'
238
- При -1: зн = '-'
239
- При _: зн = '0'
240
- ```
241
-
242
- ##### Контекстный менеджер
243
- ```
244
- ВКонтексте Открыть('Файл.дан', 'r') как файл:
245
- Пока стр := файл.Читать_строку():
246
- Вывести(стр.Удалить_по_бокам())
247
- ```
248
-
249
- ##### Проверка условия
250
- ```
251
- Функция Разделить(x, y):
252
- Проверить y != 0, 'Деление на 0.'
253
- Вернуть x / y
254
- ```
255
-
256
- ### Встроенные функции и обёртки
257
- ```
258
- АбсЗнач(x)
259
- АсПеребиратель(асинхр_перебираемое)
260
- Все(перебираемое)
261
- Любое(перебираемое)
262
- АсСледущий(асинхр_перебиратель[, по_умолчанию])
263
- В7битовСимв(объект)
264
- Двоич(x)
265
- Логич(объект = Нет)
266
- Останов(*ПА, **ИА)
267
- БайтМассив([источник = ''[, кодование[, при_ошибках]]])
268
- Байты([источник = ''[, кодование[, при_ошибках]]])
269
- Вызываемое(объект)
270
- Код_в_знак(i)
271
- @Метод_класса
272
- Собрать_код(исходник, название_файла, режим, флаги = 0, не_наследовать = Нет, оптимизация = -1)
273
- Компл(число = 0 | строка | действ_часть = 0, мнимая_часть = 0)
274
- Удалить_поле(объект, название)
275
- Словарь([отображение | перебираемое], **ИА)
276
- Содержимое([объект])
277
- ДелОст(a, b)
278
- Перечислить(перебираемое, начало = 0)
279
- ВычВыр(исходник, общие_сущности = Пусто, местные_сущности = Пусто)
280
- ВыпКод(исходник, общие_сущности = Пусто, местные_сущности = Пусто, замыкание = Пусто)
281
- Фильтр(функция, перебираемое)
282
- Вещ(число = 0.0 | строка)
283
- Формат(значение, описание = '')
284
- НеизмМнож(перебираемое = Множ())
285
- Получить_поле(объект, название[, по_умолчанию])
286
- Общие_сущности()
287
- Имеет_поле(объект, название)
288
- Хэш(объект)
289
- Справка([запрос])
290
- Шестн(x)
291
- Идент(объект)
292
- Принять(сообщение)
293
- Цел(число = 0 | строка, основание = 10)
294
- Экземпляр(объект, класс)
295
- Подкласс(класс, надкласс)
296
- Перебиратель(объект[, исключение])
297
- Длина(s) | Размер(s)
298
- Список([перебираемое])
299
- Местные_сущности()
300
- Отображение(функция, перебираемое, *перебираемые)
301
- Макс((перебираемое[, если_пусто] | аргумент_1, аргумент_2, * аргументы), ф_сравнения = Пусто)
302
- Память(объект)
303
- Мин((перебираемое[, если_пусто] | аргумент_1, аргумент_2, * аргументы), ф_сравнения = Пусто)
304
- Следующий(перебиратель[, по_умолчанию])
305
- Объект()
306
- Восьм(x)
307
- Открыть(название, режим = 'r', буферизация = -1, кодование = Пусто, при_ошибках = Пусто, новая_строка = Пусто, закрыть_описатель = Да, открыватель = Пусто)
308
- Знак_в_код(c)
309
- Степень(основание, показатель, модуль = Пусто)
310
- Вывести(*объекты, разделитель = ' ', в_конце = '\n', файл = Пусто, немедленно = Нет)
311
- [@]Свойство(ф_получения = Пусто, ф_установки = Пусто, ф_удаления = Пусто, документация = Пусто)
312
- Ряд(длина | нач, кон, шаг = 1)
313
- Представление(объект)
314
- Обратить(последовательность)
315
- Округлить(число, разрядов = Пусто)
316
- Множ([перебираемое])
317
- Установить_поле(объект, название, значение)
318
- Срез(длина | нач, кон, шаг = 1)
319
- Упорядочить(перебираемое, ф_сравнения, наоборот)
320
- [@]Статический_метод(функция)
321
- Строка(объект[, кодование = 'utf-8', при_ошибках = 'strict')
322
- Сумма(перебираемое[, начало = 0])
323
- Надкласс([тип, порядок_поиска = Пусто])
324
- Кортеж([перебираемое])
325
- Тип(объект | название, надклассы, поля, **ключевые_слова)
326
- Поля([объект])
327
- Упаковать(*перебираемые, проверить_длины = Нет)
328
- Свёртка(функция, перебираемое, нач_знач = Пусто)
329
- @Метод_получения
330
- @Метод_установки
331
- @Метод_удаления
332
- __Подключить__(название, общие_сущности = Пусто, местные_сущности = Пусто, по_списку = 0, уровень = 0)
333
- ```
@@ -1,12 +0,0 @@
1
- rupython/__main__.py,sha256=a2Uh9VhUlxF2O4IpE-8tpbNr__XXoYeVo5ZiuUUvvAk,1660
2
- rupython/__Заголовочный_код__.py,sha256=VWghfQc6dv9lwIeQvJotpdOlBtHZeN00NBeL4RdWloA,10998
3
- rupython/Преобразователь.py,sha256=YaR4lZaQxgo4vEZFk0i4_1Nx41AoH3N0mSbV2KH3wEM,42790
4
- rupython/Модули/БД.py,sha256=sMsPwyMLxrgPZmXZACdWGoyaTo3vr0A4jrMZQ7ydwzE,22107
5
- rupython/Модули/Матем.py,sha256=d8ekm7GJreu7LJ9KmAKcTOciIUQ-VBI567BfK_QeLSc,3587
6
- rupython/Модули/РегВыр.py,sha256=yeXYfeDF2qw4DSKVdZVSFInMUW52U7Nq_KOJKvm4XnM,6349
7
- rupython/Модули/Случ.py,sha256=oeVdSdFVb4X_T-nX2P7NSIhise1zUPIS4lk7h-67XSg,2689
8
- rupython-1.1.9.dist-info/LICENSE,sha256=iWzdt1wyTlK8qNSu7TzK8pjjIcCvLvWHycp7ACRcWEc,59
9
- rupython-1.1.9.dist-info/METADATA,sha256=0hFPOg9rj5kOcb70A5c6RNYT2x5CJkap5U5wD-GtZnA,13869
10
- rupython-1.1.9.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
11
- rupython-1.1.9.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
12
- rupython-1.1.9.dist-info/RECORD,,