def add_new_event() -> dict: """ Создаёт новый ивент в систему :return: Dict - json объект, в нём либо ошибка, либо созданный элемент """ name = input("Введите название ивента\n") # получаю name description = input("Введите описание ивента\n") # получаю description try: well = input("Этот ивент хороший?\n") # получаю well if well == "True": # временный костыль well = True else: well = False # TODO заменить костыль except Exception as e: return {"err": e} variants = input("Введите варианты развития ивентов, разделённые */!/*\n").split("*/!/*") # получаю variants consequence = input("Введите функции которые выполнятся при варианте ивента, " "разделённые */!/*\n").split("*/!/*") # получаю consequence probability_consequence = [int(i) for i in input("Введите вероятности вариантов" " ивентов, разделённые */!/*\n" "").split("*/!/*")] # получаю probability_consequence if len(variants) == len(consequence) == len(probability_consequence): # если все длины сошлись response = { "name": name, "description": description, "variants": variants, "consequence": consequence, "probability_consequence": probability_consequence, "probability": 50, "well": well } # собираю json объект для сохранения from modules.DB import UseDB # импортирую базу db = UseDB("events") # соединяюсь db.insert_document(response) # записываю объект return response # возвращаю его else: return {"err": "Длины variants, consequence и probability_consequence не равны"} def main(): while True: answer = input("Что сегодня сделаем?\n") # получаем вопрос if answer == "добавить эвент": print(add_new_event()) else: print("Ничего не понятно") quit(0) if __name__ == '__main__': main()