функции в списке l oop не работают по очереди в python - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть 5+ функций, поэтому я хочу, чтобы все функции запускались последовательно. например, если я поставлю l oop range = 10, и у меня есть 5 функций в списке, таким образом, func1 () должен запускаться один раз, а func2 () во втором и func3 () в третьем диапазоне, и он должен быть в l oop до диапазона = 10 достигает.

    loop = 10
    funcs = [func1(), func2(), func3(), func4(), func5()]

    for i in range(funcs,loop):
        print(i)

Я пробовал этот способ, но если диапазон l oop равен 10, то каждая функция работает 10 раз, вот почему этот l oop не должен так себя вести. он должен работать так, как если бы l oop range был 10, а у меня было 5 функций, тогда каждая функция должна запускаться один раз, пока l oop range не достигнет.

Ответы [ 2 ]

3 голосов
/ 25 апреля 2020

Функции вызываются, когда вы ставите () после имени. Вам необходимо вывести () из списка и поместить его в l oop.

. Кроме того, funcs не является допустимым аргументом для range(), он принимает только цифры. Используйте i, чтобы получить индекс в funcs.

loop = 10
funcs = [func1, func2, func3, func4, func5]
mobile_number = '123-456-7890'
amount = 50

for i in range(loop):
    print(funcs[i % len(funcs)](mobile_number, amount))

DEMO

0 голосов
/ 25 апреля 2020

Это не работает как функция, потому что вы помещаете все функции в список, и список обрабатывается как слияние как список

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...