Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python задача помогите пожалуйста

Окуясу Ниджимура Ученик (216), закрыт 1 год назад
Николаю требуется проверить, возможно ли из представленных отрезков условной длины
сформировать треугольник. Для этого он решил создать класс TriangleChecker,
принимающий только положительные числа. С помощью
метода is_triangle() возвращаются следующие значения (в зависимости от ситуации):
Ура, можно построить треугольник!;
С отрицательными числами ничего не выйдет!;
Нужно вводить только числа!;
Жаль, но из этого треугольник не сделать.
В классе должно быть три аргумента, для 3 значений длин сторон.
Лучший ответ
Андрей Высший разум (483616) 1 год назад
 class TriangleChecker:
def __init__(self, *v): self.v = v
def is_triangle(self):
if set(map(str, map(type, self.v))) - {"", ""}:
return 'Нужно вводить только числа!'
if min(self.v) < 0:
return 'С отрицательными числами ничего не выйдет!'
if 2 * max(self.v) >= sum(self.v):
return 'Жаль, но из этого треугольник не сделать.'
return 'Ура, можно построить треугольник!'
Остальные ответы
Dzinkov Мастер (1510) 1 год назад
Конечно, я могу помочь вам с этой задачей. Вот пример класса TriangleChecker, который реализует метод is_triangle():

 python 
class TriangleChecker:
def __init__(self, side1, side2, side3):
self.side1 = side1
self.side2 = side2
self.side3 = side3

def is_triangle(self):
if not isinstance(self.side1, (int, float)) or not isinstance(self.side2, (int, float)) or not isinstance(self.side3, (int, float)):
return "Нужно вводить только числа!"
elif self.side1 <= 0 or self.side2 <= 0 or self.side3 <= 0:
return "С отрицательными числами ничего не выйдет!"
elif self.side1 + self.side2 <= self.side3 or self.side1 + self.side3 <= self.side2 or self.side2 + self.side3 <= self.side1:
return "Жаль, но из этого треугольник не сделать."
else:
return "Ура, можно построить треугольник!"

# Пример использования класса
checker = TriangleChecker(3, 4, 5)
print(checker.is_triangle()) # Ура, можно построить треугольник!

checker = TriangleChecker(2, -1, 3)
print(checker.is_triangle()) # С отрицательными числами ничего не выйдет!

checker = TriangleChecker(4, 5, "6")
print(checker.is_triangle()) # Нужно вводить только числа!

checker = TriangleChecker(1, 2, 6)
print(checker.is_triangle()) # Жаль, но из этого треугольник не сделать.
В этом примере класс TriangleChecker принимает три аргумента - длины сторон треугольника. Метод is_triangle() проверяет условия, чтобы определить, можно ли из данных сторон построить треугольник, и возвращает соответствующее сообщение.
Окуясу НиджимураУченик (216) 1 год назад
Чатгпт... Дэмс
S.H.I. Оракул (74230) 1 год назад
 class TriangleChecker: 
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c

def is_triangle(self):
if not all(isinstance(i, (int, float)) for i in [self.a, self.b, self.c]):
return "Нужно вводить только числа!"
elif any(i <= 0 for i in [self.a, self.b, self.c]):
return "С отрицательными числами ничего не выйдет!"
elif self.a + self.b > self.c and self.a + self.c > self.b and self.b + self.c > self.a:
return "Ура, можно построить треугольник!"
else:
return "Жаль, но из этого треугольник не сделать."

# Пример использования
triangle = TriangleChecker(3, 4, 5)
print(triangle.is_triangle())
Похожие вопросы