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)
Comments