From a211503cae3a6f671a541c8d9396425e66b365d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Gil=20de=20G=C3=B3mez=20P=C3=A9rez?= Date: Wed, 15 Jul 2026 17:40:33 +0300 Subject: [PATCH] Added "Inverter" example --- examples/inverter.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 examples/inverter.py diff --git a/examples/inverter.py b/examples/inverter.py new file mode 100644 index 0000000..8f11f4b --- /dev/null +++ b/examples/inverter.py @@ -0,0 +1,19 @@ +from snanosm.mealy import Machine + +def add_to_result(context, c): + context["result"] += c + +def inverter(input_string: str) -> str: + context = { + "result": "" + } + m = Machine(context) + m.add_state("S", True, False) + m.add_transition("0", "S", "S", lambda ctx: add_to_result(ctx, "1")) + m.add_transition("1", "S", "S", lambda ctx: add_to_result(ctx, "0")) + for c in input_string: + m.process_input(c) + return context["result"] + +if __name__ == '__main__': + print(inverter("000011110010")) \ No newline at end of file