From 7c5f6bb09abc5a65a75498c1b3ec24e152744156 Mon Sep 17 00:00:00 2001 From: deadsmond <01.lewicki@gmail.com> Date: Sun, 24 Nov 2019 21:22:07 +0100 Subject: [PATCH] 'hm' --- TaskB01/run | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 TaskB01/run diff --git a/TaskB01/run b/TaskB01/run new file mode 100644 index 0000000..1760a2d --- /dev/null +++ b/TaskB01/run @@ -0,0 +1,46 @@ +#!/usr/bin/python3 +import sys +import re + + +class automate: + self.storage = [] + self.accepting_states = [] + self.state = '0' + + def add_node(self, line): + node = line.split(' ') + if len(node) == 3: + self.storage.append([[node[0], node[2]], node[1]]) + elif len(node) == 1: + self.accepting_states.append() + + def test_string(self, text): + + for i in text: + self.state = self.get_node_transition([self.state, i]) + if self.state == None: + return 'FALSE' + + if self.state in self.accepting_states: + return 'TRUE' + else: + return 'FALSE' + + + def get_node_transition(self, query): + for i in self.storage: + if i[0] == query: + return i[1] + return None + + +auto = automate() + +for line in sys.stdin: + auto.add_node(line) + +f = open(sys.argv[1], 'r') + +for line in f: + print(auto.test_string(line))