rules = { "hello": ( {"name": "1", "tokens": ("да", "Да"), "scenario": "question", "answer": "Вопрос: авп"}, {"name": "2", "tokens": ("нет", "Нет"), "scenario": None, "answer": "Точно?"}, {"name": "2", "tokens": ("__DEFAULT__",), "scenario": None, "answer": "НИПАНИМАЙ?"}, ), "question": ( {"name": "3", "tokens": ("да", "Да"), "scenario": None, "answer": "ХОРОШО"}, {"name": "4", "tokens": ("нет", "Нет"), "scenario": None, "answer": "ПЛОХО"}, {"name": "5", "tokens": ("не знаю", "Не знаю"), "scenario": None, "answer": "СРЕДНЕ"}, ) } cur_scenario = "hello" print("Я могу задать вопрос?") def handle_answer(answer): global cur_scenario for rule in rules[cur_scenario]: for token in rule['tokens']: if token == answer or token == "__DEFAULT__": if rule.get("answer") is not None: print(rule.get("answer")) if rule.get("scenario") is not None: cur_scenario = rule.get("scenario") return while True: answer = input().strip() handle_answer(answer)