исполнение функции указанной в словаре

Рейтинг: 0Ответов: 1Опубликовано: 26.08.2023
import random

terms = [
    "Приветики!",
    "И тебе привет!",
    "Здравствуй!",
    "Приветствую!",
    "Привет-привет!",
    "Приветик!",
    "Привет!",
    "Приветствую вас!",
]

def greetings(phrase):
    for command in manifest["commands"]:
        if command in phrase:
            text = str(random.choice(terms))
            return text
            break
        else:
            continue

manifest = {
    "name": "Приветствие",
    "version": "0.8",

    "commands": {
        "привет|приве|прив|добрый день|добрый вечер|доброе утро|здравствуйте|здаствуйте": greetings,
    }
}

в этом коде представлен словарь и функция. Как мне зная команду, то есть "привет" или что-то еще выполнить функцию greetings?

Ответы

▲ 0

Понял, нужно было использовать встроенный метод values, предварительно использовав list и поставив скобочки для функции

Вот так:

list(manifest["commands"].values())[0]()