"""
Строка может содержать одно два или три числа раделенных запятой и пробелом.
Числа могут быть отрицательные и 0.
Нужно преобразовать строку в список с числами, если есть отрицательные числа,
их нужно преобразовать в положительные.
Если в строке одно число - это сторона квадрата
и нужно посчитать площадь и периметр.
Результатом ответа должна быть строка формата
'perimeter=X, area=X', где Х - это число
Если в строке два числа, тогда это прямоугольник,
и нужно посчитать площадь, периметр и диагональ.
Результатом ответа должна быть строка формата
'perimeter=X, area=X, diagonal=Х', где Х - это число
Если в строке три числа, это треугольник
и нужно посчитать площадь, периметр и самую длинную и самую короткую сторону.
Результатом ответа должна быть строка формата
'perimeter=X, area=X, long side=Х, short side=X', где Х - это число
Если одно из чисел равно 0 это не является геометрической фигурой.
Результат должна быть пустая строке
"""
def func(input_value):
# input_value переменная может иметь следующие значения
# input_value = '3'
# input_value = '3, -4'
# input_value = '3, 4, -6'
# input_value = '3, 0, -6'
perimeter = ...
area = ...
long_side = ...
short_side ...
res = f'perimeter={perimeter}, area={area}, long side={long_side}, short side={short_side}'
return res
if name == '__main__':
cases = [
('3', 'perimeter=12, area=9'),
('3, -4', 'perimeter=14, area=12, diagonal=5'),
('3, 4, -6', 'perimeter=13, area=5.33, long side=6, short side=3'),
('3, 0, -6', ''),
]
for input_value, expected_value in cases:
result = func(input_value)
assert result == expected_value, f'{input_value=}, {result=}, {expected_value=}'
print('Done!')