Функция Python с несколькими аргументами без вызова функции дважды - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь создать программу, которая может выполнять мои формулы алгебры.Это мой код {

k = 3
k2 = 20

def algebra(number):
  print(5*number-10)

algebra(k)

}

Я пытался сделать k2 и k одновременно, как это

algebra(k,k2)

Как я могу сделать эту работу?

Ответы [ 3 ]

0 голосов
/ 01 июня 2018

Вы можете использовать args в своей функции, что позволяет вам вызывать функцию с несколькими параметрами.Ваш пример станет:

def algebra(*args):
  for arg in args:
    print(5*arg-10)

algebra(5, 10)
>> 15
>> 40
0 голосов
/ 01 июня 2018

Похоже, что вы хотите, чтобы назвать алгебру на некотором переменном количестве k дополнений.Есть несколько способов сделать это (карта, вероятно, будет наиболее подходящей, но, поскольку вы только учитесь, я сделаю это проще).Один простой способ - заставить вашу функцию принять и вернуть список.

Таким образом, вы получите что-то вроде

a = [k, k2]

И затем всвою функцию алгебры, возьмите a в качестве аргумента и переберите ее элементы, используя цикл for, например:

Для элемента в a:

a [elem] = 5 * elem - 10

вернуть

и затем распечатать список, который возвращается в вашей основной функции

0 голосов
/ 01 июня 2018

Я надеюсь, что это полезно для вас:

k = 3
k2 = 20

def algebra(*numbers):
    for number in numbers:
        print(5*number-10)

algebra(k,k2,k2)

Вывод: 5 90 90

...