@maximtop
Начинающий программист

Как присвоить значания *args к нескольким переменным?

Как присвоить значания *args к нескольким переменным?

Например мне нужно выяснить площадь фигуры. Круга, треугольника или квадрата. Зависит от количества переменных, которые поступают в функцию. Если 1 переменная, то площадь круга, 2 переменные, то квадрата, если 3, то треугольника.

С кругом и квадратом я разобрался. Не могу разобраться с треугольником.

import math
def simple_areas(*args):
    if len(args) == 1:
        for arg in args:
            #arg /= 2.
            s = math.pi * ((arg/2.)**2)
    elif len(args) == 2:
        s = 1
        for arg in args:
            s *= arg
    elif len(args) == 3:
        p = sum(args) / 2
        for a, b, c in args: #как сделать, чтобы значения в args присвоились a, b, c
            s = math.sqrt(p*(p-a)*(p-b)*(p-c))
    return "%.2f" % s
  • Вопрос задан
  • 216 просмотров
Решения вопроса 1
Просто через равно:
a, b, c = args
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AnnTHony
@AnnTHony
Интроверт
Вместо
for a, b, c in args: #как сделать, чтобы значения в args присвоились a, b, c
            s = sqrt(p*(p-a)*(p-b)*(p-c))

Вставить
a, b, c = args
s = sqrt(p*(p-a)*(p-b)*(p-c))
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы