rupython 1.0.0__py3-none-any.whl → 1.0.2__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//342/225/250/320/254/342/225/250/342/225/233/342/225/250/342/224/244/342/225/244/320/223/342/225/250/342/225/227/342/225/250/342/225/225//342/225/250/320/254/342/225/250/342/226/221/342/225/244/320/222/342/225/250/342/225/241/342/225/250/342/225/235.py +78 -0
- rupython//342/225/250/320/254/342/225/250/342/225/233/342/225/250/342/224/244/342/225/244/320/223/342/225/250/342/225/227/342/225/250/342/225/225//342/225/250/320/260/342/225/250/342/225/241/342/225/250/342/224/202/342/225/250/320/242/342/225/244/320/233/342/225/244/320/220.py +99 -0
- rupython-1.0.2.dist-info/METADATA +24 -0
- rupython-1.0.2.dist-info/RECORD +10 -0
- rupython-1.0.0.dist-info/METADATA +0 -6
- rupython-1.0.0.dist-info/RECORD +0 -8
- {rupython-1.0.0.dist-info → rupython-1.0.2.dist-info}/LICENSE +0 -0
- {rupython-1.0.0.dist-info → rupython-1.0.2.dist-info}/WHEEL +0 -0
- {rupython-1.0.0.dist-info → rupython-1.0.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,78 @@
|
|
1
|
+
import math
|
2
|
+
|
3
|
+
Пи = math.pi
|
4
|
+
e = math.e
|
5
|
+
Тау = math.tau
|
6
|
+
Бскн = math.inf
|
7
|
+
НеЧ = math.nan
|
8
|
+
|
9
|
+
def Сочетаний(n, k): return math.comb(n, k)
|
10
|
+
def Перестановок(n, k): return math.perm(n, k)
|
11
|
+
def Факториал(n): return math.factorial(n)
|
12
|
+
def НОД(*целые): return math.gcd(*целые)
|
13
|
+
def НОК(*целые): return math.lcm(*целые)
|
14
|
+
def ЦелКвКорень(n): return math.isqrt(n)
|
15
|
+
def БольшЦел(x): return math.ceil(x)
|
16
|
+
def МеньшЦел(x): return math.floor(x)
|
17
|
+
def Модуль(x): return math.fabs(x)
|
18
|
+
def УмножСлож(x, y, z): return math.fma(x, y, z)
|
19
|
+
def Остаток(x, y): return math.fmod(x, y)
|
20
|
+
def ОстатОтн(x, y): return math.remainder(x, y)
|
21
|
+
def ДробЦел(x): return math.modf(x)
|
22
|
+
def ЦелЧасть(x): return math.trunc(x)
|
23
|
+
def Перенести_знак(x, y): return math.copysign(x, y)
|
24
|
+
def ВЭксп(x): return math.frexp(x)
|
25
|
+
def ИзЭксп(x, i): return math.ldexp(x, i)
|
26
|
+
def Близки(a, b, отнДопуск=1e-09, абсДопуск=0.0): return math.isclose(a, b, rel_tol=отнДопуск, abs_tol=абсДопуск)
|
27
|
+
def Конечное(x): return math.isfinite(x)
|
28
|
+
def Бесконечное(x): return math.isinf(x)
|
29
|
+
def Не_число(x): return math.isnan(x)
|
30
|
+
def СледПосле(x, y, шаг = 1): return math.nextafter(x, y, steps=шаг)
|
31
|
+
def НаименьшЗначБит(x): return math.ulp(x)
|
32
|
+
def КубКорень(x): return math.cbrt(x)
|
33
|
+
def exp(x): return math.exp(x)
|
34
|
+
def exp2(x): return math.exp2(x)
|
35
|
+
def expm1(x): return math.expm1(x)
|
36
|
+
def log(x, основание = e): return math.log(x, base=основание)
|
37
|
+
def ln(x): return math.log(x)
|
38
|
+
def log1p(x): return math.log1p(x)
|
39
|
+
def log2(x): return math.log2(x)
|
40
|
+
def lg(x): return math.log10(x)
|
41
|
+
def Степень(x, y): return math.pow(x, y)
|
42
|
+
def КвКорень(x): return math.sqrt(x)
|
43
|
+
def Расстояние(p, q): return math.dist(p, q)
|
44
|
+
def Сумма(перечислимое): return math.fsum(перечислимое)
|
45
|
+
def Гипотенуза(*координаты): return math.hypot(*координаты)
|
46
|
+
def Произведение(перечислимое, нач_знач = 1): return math.prod(перечислимое, start=нач_знач)
|
47
|
+
def СуммаПроизв(p, q): return math.sumprod(p, q)
|
48
|
+
def Градусы(x): return math.degrees(x)
|
49
|
+
def Радианы(x): return math.radians(x)
|
50
|
+
def sin(x): return math.sin(x)
|
51
|
+
def cos(x): return math.cos(x)
|
52
|
+
def tg(x): return math.tan(x)
|
53
|
+
def ctg(x): return math.cos(x) / math.sin(x)
|
54
|
+
def sec(x): return 1 / math.cos(x)
|
55
|
+
def cosec(x): return 1 / math.sin(x)
|
56
|
+
def arcsin(x): return math.asin(x)
|
57
|
+
def arccos(x): return math.acos(x)
|
58
|
+
def arctg(x): return math.atan(x)
|
59
|
+
def arcctg(x): return math.cos(x / math.sqrt(1 + x ** 2))
|
60
|
+
def arcsec(x): return math.acos(1 / x)
|
61
|
+
def arccosec(x): return math.asin(1 / x)
|
62
|
+
def Угол_по_точке(x, y): return math.atan2(y, x)
|
63
|
+
def sh(x): return math.sinh(x)
|
64
|
+
def ch(x): return math.cosh(x)
|
65
|
+
def th(x): return math.tanh(x)
|
66
|
+
def cth(x): return 1 / math.tanh(x)
|
67
|
+
def sch(x): return 1 / math.cosh(x)
|
68
|
+
def csch(x): return 1 / math.sinh(x)
|
69
|
+
def arsh(x): return math.asinh(x)
|
70
|
+
def arch(x): return math.acosh(x)
|
71
|
+
def arth(x): return math.atanh(x)
|
72
|
+
def arcth(x): return math.log((x + 1) / (x - 1)) / 2
|
73
|
+
def arsch(x): return math.acosh(1 / x)
|
74
|
+
def arcsch(x): return math.asinh(1 / x)
|
75
|
+
def ФунОшибок(x): return math.erf(x)
|
76
|
+
def ДопФунОшибок(x): return math.erfc(x)
|
77
|
+
def Гамма(x): return math.gamma(x)
|
78
|
+
def ЛогГамма(x): return math.lgamma(x)
|
@@ -0,0 +1,99 @@
|
|
1
|
+
import re
|
2
|
+
|
3
|
+
БезФлагов = 0
|
4
|
+
Знаки7бит = A = re.ASCII
|
5
|
+
Отладка = re.DEBUG
|
6
|
+
ИгнорРегистр = I = re.IGNORECASE
|
7
|
+
УчЛокаль = L = re.LOCALE
|
8
|
+
Многостроч = M = re.MULTILINE
|
9
|
+
ТочкаДляВсего = S = re.DOTALL
|
10
|
+
Многобайт = U = re.UNICODE
|
11
|
+
Развёрнутое = X = re.VERBOSE
|
12
|
+
|
13
|
+
class Шаблон:
|
14
|
+
def __init__(здесь, объект):
|
15
|
+
здесь.объект = объект
|
16
|
+
здесь.флаги = объект.flags
|
17
|
+
здесь.число_групп = объект.groups
|
18
|
+
здесь.номераНазвГр = объект.groupindex
|
19
|
+
здесь.шаблон = объект.pattern
|
20
|
+
|
21
|
+
def Поиск(здесь, *ПА, **ИА):
|
22
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
|
23
|
+
{ 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
|
24
|
+
return здесь.объект.search(*ПА, **ИА)
|
25
|
+
|
26
|
+
def СовпадНач(здесь, *ПА, **ИА):
|
27
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
|
28
|
+
{ 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
|
29
|
+
return здесь.объект.match(*ПА, **ИА)
|
30
|
+
|
31
|
+
def ПолнСоотв(здесь, *ПА, **ИА):
|
32
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
|
33
|
+
{ 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
|
34
|
+
return здесь.объект.fullmatch(*ПА, **ИА)
|
35
|
+
|
36
|
+
def Разбить(здесь, *ПА, **ИА):
|
37
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
|
38
|
+
{ 'строка': 'string', 'макс_делений': 'maxsplit' })
|
39
|
+
return здесь.объект.split(*ПА, **ИА)
|
40
|
+
|
41
|
+
def НайтиВсё(здесь, *ПА, **ИА):
|
42
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
|
43
|
+
{ 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
|
44
|
+
return здесь.объект.findall(*ПА, **ИА)
|
45
|
+
|
46
|
+
def ИскатьПеречисл(здесь, *ПА, **ИА):
|
47
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
|
48
|
+
{ 'строка': 'string', 'нач_поз': 'pos', 'кон_поз': 'endpos' })
|
49
|
+
return здесь.объект.finditer(*ПА, **ИА)
|
50
|
+
|
51
|
+
def Заменить(здесь, *ПА, **ИА):
|
52
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
|
53
|
+
{ 'замена': 'repl', 'строка': 'string', 'количество': 'count' })
|
54
|
+
return здесь.объект.sub(*ПА, **ИА)
|
55
|
+
|
56
|
+
def ЗаменитьСч(здесь, *ПА, **ИА):
|
57
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, \
|
58
|
+
{ 'замена': 'repl', 'строка': 'string', 'количество': 'count' })
|
59
|
+
return здесь.объект.subn(*ПА, **ИА)
|
60
|
+
|
61
|
+
|
62
|
+
class Соответствие:
|
63
|
+
def __init__(здесь, объект):
|
64
|
+
здесь.объект = объект
|
65
|
+
здесь.нач_поз = объект.pos
|
66
|
+
здесь.кон_поз = объект.endpos
|
67
|
+
здесь.послИндекс = объект.lastindex
|
68
|
+
здесь.послГруппа = объект.lastgroup
|
69
|
+
здесь.регВыр = объект.re
|
70
|
+
здесь.строка = объект.string
|
71
|
+
|
72
|
+
def Развернуть(здесь, шаблон): return здесь.объект.expand(шаблон)
|
73
|
+
def Группа(здесь, *группы): return здесь.объект.group(*группы)
|
74
|
+
def __getitem__(здесь, индекс): return объект[индекс]
|
75
|
+
|
76
|
+
def Группы(здесь, *ПА, **ИА):
|
77
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, { 'по_умолчанию': 'default' })
|
78
|
+
return здесь.объект.groups(*ПА, **ИА)
|
79
|
+
|
80
|
+
def ИменовГруппы(здесь, *ПА, **ИА):
|
81
|
+
ИА = __Заголовочный_код__.Заменить_ключи_в_словаре(ИА, { 'по_умолчанию': 'default' })
|
82
|
+
return здесь.объект.groupdict(*ПА, **ИА)
|
83
|
+
|
84
|
+
def Начало(здесь, *группа): return здесь.объект.start(*группа)
|
85
|
+
def Конец(здесь, *группа): return здесь.объект.end(*группа)
|
86
|
+
|
87
|
+
Флаги = re.RegexFlag
|
88
|
+
|
89
|
+
def Создать(шаблон, флаги = 0): рез = re.compile(шаблон, flags=флаги); return Шаблон(re.compile(рез)) if type(рез) == re.Pattern else рез
|
90
|
+
def Поиск(шаблон, строка, флаги = 0): return re.search(шаблон, строка, flags=флаги)
|
91
|
+
def СовпадНач(шаблон, строка, флаги = 0): return re.match(шаблон, строка, flags=флаги)
|
92
|
+
def ПолнСоотв(шаблон, строка, флаги = 0): return re.fullmatch(шаблон, строка, flags=флаги)
|
93
|
+
def Разбить(шаблон, строка, макс_делений = 0, флаги = 0): return re.split(шаблон, строка, maxsplit=макс_делений, flags=флаги)
|
94
|
+
def НайтиВсё(шаблон, строка, флаги = 0): return re.findall(шаблон, строка, flags=флаги)
|
95
|
+
def ИскатьПеречисл(шаблон, строка, флаги = 0): return re.finditer(шаблон, строка, flags=флаги)
|
96
|
+
def Заменить(шаблон, замена, количество = 0, флаги = 0): return re.sub(шаблон, замена, строка, count=количество, flags=флаги)
|
97
|
+
def ЗаменитьСч(шаблон, замена, количество = 0, флаги = 0): return re.sub(шаблон, замена, строка, count=количество, flags=флаги)
|
98
|
+
def ЭкранШабл(шаблон): return re.escape(шаблон)
|
99
|
+
def ОчиститьКэш(): return re.purge()
|
@@ -0,0 +1,24 @@
|
|
1
|
+
Metadata-Version: 2.1
|
2
|
+
Name: rupython
|
3
|
+
Version: 1.0.2
|
4
|
+
Summary: Исполнитель кода Русского Питона
|
5
|
+
Description-Content-Type: text/markdown
|
6
|
+
License-File: LICENSE
|
7
|
+
|
8
|
+
Русская версия языка Python, реализованная в виде транслятора кода в код Python. Транслятор устанавливается как пакет соответствующей командой:
|
9
|
+
|
10
|
+
`pip install rupython`
|
11
|
+
|
12
|
+
Русский Питон почти полностью идентичен оригинальному языку с англоязычной лексической базой, основное отличие заключается в использовании русских названий для именования сущностей в коде. Данный инструмент создан для достижения двух целей:
|
13
|
+
|
14
|
+
* Повышение производительности труда работников, выполняющих задачи автоматизации процессов и формализации алгоритмов, за счёт применения лексики на родном им языке, что априори повышает усвоение и читаемость кода.
|
15
|
+
* Упрощение освоения навыков алгоритмизации и составления компьютерных программ учащимися путём устранения искусственного препятствия в виде необходимости оперировать лексикой иностранного языка.
|
16
|
+
|
17
|
+
Код модулей Русского Питона размещается в файлах с расширением **.крп**. Для интеграции в операционную систему необходимо ассоциировать эти файлы с транслятором. Например, для ОС Windows это выполняется следующими консольными командами:
|
18
|
+
|
19
|
+
```
|
20
|
+
assoc .крп = "Код на Русском Питоне"
|
21
|
+
ftype "Код на Русском Питоне"=py -m rupython "%%1" %%*
|
22
|
+
```
|
23
|
+
|
24
|
+
Приложения на Русском Питоне могут использовать все возможности оригинального Python, включая всё богатство подключаемых пакетов и библиотек. Код может быть написан на обоих вариантах языка.
|
@@ -0,0 +1,10 @@
|
|
1
|
+
rupython/__main__.py,sha256=BxtsIK8PJuOOGVDKxqoscwJjjWWhZts7adicFuwUL6k,540
|
2
|
+
rupython/__Заголовочный_код__.py,sha256=gShPgIcypiTojfl7yi-bNQGhXn7-lxM3KS_0py3-mXI,9921
|
3
|
+
rupython/Преобразователь.py,sha256=iIflCiWx65mSTjPTaZU1o-kNwOeITC-xhGnkkg5FqSE,33633
|
4
|
+
rupython/Модули/Матем.py,sha256=d8ekm7GJreu7LJ9KmAKcTOciIUQ-VBI567BfK_QeLSc,3587
|
5
|
+
rupython/Модули/РегВыр.py,sha256=yeXYfeDF2qw4DSKVdZVSFInMUW52U7Nq_KOJKvm4XnM,6349
|
6
|
+
rupython-1.0.2.dist-info/LICENSE,sha256=iWzdt1wyTlK8qNSu7TzK8pjjIcCvLvWHycp7ACRcWEc,59
|
7
|
+
rupython-1.0.2.dist-info/METADATA,sha256=eA7ibGjGJrNGhjyKLGQfY9eQl2zpAe026rdDE7IVIBc,4894
|
8
|
+
rupython-1.0.2.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
9
|
+
rupython-1.0.2.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
|
10
|
+
rupython-1.0.2.dist-info/RECORD,,
|
rupython-1.0.0.dist-info/RECORD
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
rupython/__main__.py,sha256=BxtsIK8PJuOOGVDKxqoscwJjjWWhZts7adicFuwUL6k,540
|
2
|
-
rupython/__Заголовочный_код__.py,sha256=gShPgIcypiTojfl7yi-bNQGhXn7-lxM3KS_0py3-mXI,9921
|
3
|
-
rupython/Преобразователь.py,sha256=iIflCiWx65mSTjPTaZU1o-kNwOeITC-xhGnkkg5FqSE,33633
|
4
|
-
rupython-1.0.0.dist-info/LICENSE,sha256=iWzdt1wyTlK8qNSu7TzK8pjjIcCvLvWHycp7ACRcWEc,59
|
5
|
-
rupython-1.0.0.dist-info/METADATA,sha256=d3-dgvnaQETtp-PVgaX3c9lBIg1nnq1X96lJ0VpYhIM,152
|
6
|
-
rupython-1.0.0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
7
|
-
rupython-1.0.0.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
|
8
|
-
rupython-1.0.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|