From 8f1809e9b44d7561f66312ce9e0554f661828caa Mon Sep 17 00:00:00 2001 From: Ilya Date: Mon, 23 Mar 2026 13:27:03 +0200 Subject: [PATCH] Create functions_bredikhin_illia.py --- Week04/Week04/functions_bredikhin_illia.py | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Week04/Week04/functions_bredikhin_illia.py diff --git a/Week04/Week04/functions_bredikhin_illia.py b/Week04/Week04/functions_bredikhin_illia.py new file mode 100644 index 00000000..dab6c9e6 --- /dev/null +++ b/Week04/Week04/functions_bredikhin_illia.py @@ -0,0 +1,26 @@ +power_fn = lambda base=0, /, exp=1: base ** exp + + +def calc_expression(x: int = 0, y: int = 0, /, a: int = 1, b: int = 1, *, c: int = 1) -> float: + """ + Calculates (x^a + y^b) / c + """ + result = (x ** a + y ** b) / c + return result + + +def call_tracker() -> tuple[int, dict[str, int]]: + if not hasattr(call_tracker, "_count"): + call_tracker._count = 0 + call_tracker._by_caller = {} + + module_name = __name__ + + call_tracker._count += 1 + + if module_name in call_tracker._by_caller: + call_tracker._by_caller[module_name] += 1 + else: + call_tracker._by_caller[module_name] = 1 + + return call_tracker._count, call_tracker._by_caller