master > master: src-py - init
This commit is contained in:
parent
15954963ca
commit
4b4634994c
0
code/python/src/__init__.py
Normal file
0
code/python/src/__init__.py
Normal file
0
code/python/src/graphs/__init__.py
Normal file
0
code/python/src/graphs/__init__.py
Normal file
46
code/python/src/graphs/graph.py
Normal file
46
code/python/src/graphs/graph.py
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# IMPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
#
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# EXPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
'Graph',
|
||||||
|
];
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# CLASS Graph
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
class Graph(object):
|
||||||
|
'''
|
||||||
|
a data structure for graphs
|
||||||
|
'''
|
||||||
|
nodes: list[str];
|
||||||
|
edges: list[tuple[str,str]]
|
||||||
|
|
||||||
|
def __init__(self, nodes: list[str], edges: list[tuple[str,str]]):
|
||||||
|
self.nodes = nodes;
|
||||||
|
self.edges = edges;
|
||||||
|
return;
|
||||||
|
|
||||||
|
def successor(self, u: str):
|
||||||
|
'''
|
||||||
|
@returns
|
||||||
|
list of successor nodes
|
||||||
|
'''
|
||||||
|
return [ v for (u_, v) in self.edges if u == u_ ];
|
||||||
|
|
||||||
|
def predecessor(self, v: str):
|
||||||
|
'''
|
||||||
|
@returns
|
||||||
|
list of predecessor nodes
|
||||||
|
'''
|
||||||
|
return [ u for (u, v_) in self.edges if v == v_ ];
|
0
code/python/src/local/__init__.py
Normal file
0
code/python/src/local/__init__.py
Normal file
24
code/python/src/local/config.py
Normal file
24
code/python/src/local/config.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# IMPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
import json;
|
||||||
|
from yaml import add_constructor;
|
||||||
|
from yaml import load;
|
||||||
|
from yaml import Loader;
|
||||||
|
from yaml import FullLoader;
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# EXPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
'json',
|
||||||
|
'add_constructor',
|
||||||
|
'load',
|
||||||
|
'Loader',
|
||||||
|
'FullLoader',
|
||||||
|
];
|
20
code/python/src/local/io.py
Normal file
20
code/python/src/local/io.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# IMPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
import io;
|
||||||
|
import getpass;
|
||||||
|
import argparse;
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# EXPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
'io',
|
||||||
|
'getpass',
|
||||||
|
'argparse',
|
||||||
|
];
|
18
code/python/src/local/maths.py
Normal file
18
code/python/src/local/maths.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# IMPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
import math;
|
||||||
|
import random;
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# EXPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
'math',
|
||||||
|
'random',
|
||||||
|
];
|
18
code/python/src/local/misc.py
Normal file
18
code/python/src/local/misc.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# IMPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
import re;
|
||||||
|
from textwrap import dedent;
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# EXPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
're',
|
||||||
|
'dedent',
|
||||||
|
];
|
23
code/python/src/local/system.py
Normal file
23
code/python/src/local/system.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# IMPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
import os;
|
||||||
|
import sys;
|
||||||
|
|
||||||
|
import platform;
|
||||||
|
import shutil;
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# EXPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
'os',
|
||||||
|
'sys',
|
||||||
|
'platform',
|
||||||
|
'shutil',
|
||||||
|
];
|
37
code/python/src/local/typing.py
Normal file
37
code/python/src/local/typing.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# IMPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
from types import TracebackType;
|
||||||
|
|
||||||
|
from typing import Any;
|
||||||
|
from typing import Callable;
|
||||||
|
from typing import Dict;
|
||||||
|
from typing import Generator;
|
||||||
|
from typing import Generic;
|
||||||
|
from typing import List;
|
||||||
|
from typing import Tuple;
|
||||||
|
from typing import Type;
|
||||||
|
from typing import TypeVar;
|
||||||
|
from typing import Union;
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# EXPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
'TracebackType',
|
||||||
|
'Any',
|
||||||
|
'Callable',
|
||||||
|
'Dict',
|
||||||
|
'Generator',
|
||||||
|
'Generic',
|
||||||
|
'List',
|
||||||
|
'Tuple',
|
||||||
|
'Type',
|
||||||
|
'TypeVar',
|
||||||
|
'Union',
|
||||||
|
];
|
0
code/python/src/stacks/__init__.py
Normal file
0
code/python/src/stacks/__init__.py
Normal file
64
code/python/src/stacks/stack.py
Normal file
64
code/python/src/stacks/stack.py
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# IMPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
from src.local.typing import *;
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# EXPORTS
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
'Stack',
|
||||||
|
];
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# CLASS Stack
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
class Stack:
|
||||||
|
'''
|
||||||
|
A data structure for stacks
|
||||||
|
'''
|
||||||
|
values: list[Any];
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.values = [];
|
||||||
|
return;
|
||||||
|
|
||||||
|
def __len__(self):
|
||||||
|
'''
|
||||||
|
@returns
|
||||||
|
number of elements in stack
|
||||||
|
'''
|
||||||
|
return len(self.values);
|
||||||
|
|
||||||
|
def __contains__(self, value: Any) -> bool:
|
||||||
|
return value in self.values;
|
||||||
|
|
||||||
|
def push(self, value: Any):
|
||||||
|
'''
|
||||||
|
add element to stack
|
||||||
|
'''
|
||||||
|
self.values.append(value);
|
||||||
|
|
||||||
|
def pop(self) -> Any:
|
||||||
|
'''
|
||||||
|
@returns
|
||||||
|
top element from stack and removes it
|
||||||
|
'''
|
||||||
|
value = self.top();
|
||||||
|
self.values = self.values[:-1];
|
||||||
|
return value;
|
||||||
|
|
||||||
|
def top(self) -> Any:
|
||||||
|
'''
|
||||||
|
@returns
|
||||||
|
top element from stack without removal
|
||||||
|
'''
|
||||||
|
if len(self.values) == 0:
|
||||||
|
raise Exception('Stack is empty!');
|
||||||
|
return self.values[-1];
|
Loading…
x
Reference in New Issue
Block a user