функция цикла с разным количеством аргументов python - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь перебрать функцию, которая допускает различное количество аргументов. (Sympy.Polygon)

На каждой итерации в коде должен быть установлен другой многоугольник, поэтому количество вершин может составлять 3,4:

sympy.Polygon(a1,a2,a3)
sympy.Polygon(b1,b2,b3,b4,b5)

как мне поставить эту задачу?

Ответы [ 3 ]

0 голосов
/ 21 января 2019
def some_function(*args):
    print("New function call---")
    for arg in args:
        print("arg =>",arg)


some_function("arg1","arg2","arg3")
some_function("arg1","arg2")
some_function("arg1","arg2","arg3", "arg4")

Вы можете достичь этого, как в примере выше.

Выход:

New function call---
arg => arg1
arg => arg2
arg => arg3
New function call---
arg => arg1
arg => arg2
New function call---
arg => arg1
arg => arg2
arg => arg3
arg => arg4
0 голосов
/ 21 января 2019

Вы пробовали это?

import sympy

points = [(0,0),(0,1), (1,1), (1,2)]
sympy.Polygon(*points)

С помощью * вы можете отправить любое количество аргументов sympy.Polygon.

Best

0 голосов
/ 21 января 2019

Для безымянных аргументов, как вы хотите, вы можете использовать *argv, как в этом случае

def Ploygon(*argv):  
    for arg in argv:  
        print (arg) 

Если вам нужны именованные переменные, посмотрите **kwargs

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