class Akinator(): def __new__(cls): if not hasattr(cls, 'instance'): cls.instance = super(Akinator, cls).__new__(cls) cls.instance.states = {} return cls.instance messages = [ "ÐаÑнем заново? :)", "Ðам Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ Ð¿Ð»ÑжнÑй оÑдÑÑ ?", "ÐÑ Ð³Ð¾ÑÐ¾Ð²Ñ Ðº длиÑелÑÐ½Ð¾Ð¼Ñ Ð¿ÐµÑелÑÑÑ?", "ХоÑиÑе пÑеобÑиÑÑÑÑ Ðº меÑÑной кÑлÑÑÑÑе?", "ХоÑиÑе поÑеÑиÑÑ ÑÑÑÐ°Ð½Ñ Ñ Ð±ÐµÐ·Ð²Ð¸Ð·Ð¾Ð²Ñм Ñежимом?", "ХоÑиÑе поднÑÑÑÑÑ Ð² гоÑÑ?", "ХоÑиÑе попÑобоваÑÑ Ð¸ÑалÑÑнÑкÑÑ Ð¿Ð¸ÑÑÑ Ð² оÑигинале?", "ÐÑ Ð¿ÑедпоÑÑÑÑе ÐвÑопе ÐзиÑ?", "ÐÑ Ð·Ð½Ð°ÐµÑе к какой кÑÑ Ð½Ðµ оÑноÑÑÑÑÑ ÑоллÑ?", "ÐÐ°Ñ Ð¿ÑÐ¸Ð²Ð»ÐµÐºÐ°ÐµÑ Ð·Ð°Ð¿Ð°Ñ ÐºÑÑаÑанов по ÑÑÑам?", "ÐекÑика", "ÐоминиканÑÐºÐ°Ñ Ð ÐµÑпÑблика", "ТÑÑÑиÑ", "ÐолгаÑиÑ", "ÐÑалиÑ", "ÐвÑÑÑиÑ", "ЯпониÑ", "ÐиÑай", "ФÑанÑиÑ", "ÐнглиÑ" ] @staticmethod def state_is_country(state): return state > 8 @staticmethod def check_yes(s): s = s.lower() return s in ['yes', 'y', 'да', 'Ñак ÑоÑно', 'конеÑно', '+', '1', 'true'] @staticmethod def check_no(s): s = s.lower() print(s) return s in ['no', 'n', 'неÑ', 'ноÑ', '-', '0', 'false'] def query(self, id="", state=0, answer="+"): if not id in self.states: return 0 if (state == 0) and (answer == "+"): return 1 elif (state == 1) and (answer == "+"): return 2 elif (state == 1) and (answer == "-"): return 5 elif (state == 2) and (answer == "+"): return 3 elif (state == 2) and (answer == "-"): return 4 elif (state == 3) and (answer == "+"): return 10 elif (state == 3) and (answer == "-"): return 11 elif (state == 4) and (answer == "+"): return 12 elif (state == 4) and (answer == "-"): return 13 elif (state == 5) and (answer == "+"): return 6 elif (state == 5) and (answer == "-"): return 7 elif (state == 6) and (answer == "+"): return 14 elif (state == 6) and (answer == "-"): return 15 elif (state == 7) and (answer == "+"): return 8 elif (state == 7) and (answer == "-"): return 9 elif (state == 8) and (answer == "+"): return 16 elif (state == 8) and (answer == "-"): return 17 elif (state == 9) and (answer == "+"): return 18 elif (state == 9) and (answer == "-"): return 19 else: return 0