@Hips

Python, как реализовать список функций?

Доброго времени суток!
Как реализовать список или кортеж или еще что-то с функциями?
Пробовал несколько вариантов... так это не работает.
Срабатывают все функции из перечня.
Городить кучу "if" не вариант т.к. перечень функций планируется не маленький
menu_var = ['user', 'easy', 'medium']
menu_def = [user(), pc_easy(), pc_medium()]
menu_def = (user(), pc_easy(), pc_medium())

menu_input = input().split(' ')

if (menu_input[0] and menu_input[1]) in menu_var:
    menu_input[0] = menu_def[menu_var.index(menu_input[0])]
    menu_input[1] = menu_def[menu_var.index(menu_input[1])]

или
func = {'user': user(), 'easy': pc_easy(), 'medium': pc_medium()}
    if roll == 1:
        func.get(menu_input[0])
    else:
        func.get(menu_input[1])
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
@Dalp
У Вас функции срабатывают в момент создания списка.
Когда создаёте список, указывайте функции без скобок:
funcs = (func_1, func_2, func_3)
Для вызова функции func_2:
funcs[1]("аргументы")

P.S. func()-это не сама функция, а её return. func-указывает на функцию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы