Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 12, 2023 16:00:44

Alex73
Зарегистрирован: 2023-10-12
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить задачку!

Уважаемые , подскажите , как решить . Заранее вам благодарен
Условие задания: напишите свой первый класс Triangle, в котором есть поля angle_1, angle_2, angle_3 и который при инициализации проверяет, что все введенные числа положительные и что сумма углов треугольника равна 180°.
В случае, если треугольник может существовать, конструктор класса должен напечатать текст Triangle initialized, а если такой треугольник существовать не может, то Initialization failed.


Sample Input 1: 90 30 60

Sample Output 1:Triangle initialized

Sample Input 2: 120 90 60

Sample Output 2:Initialization failed

Отредактировано Alex73 (Окт. 13, 2023 07:40:30)

Офлайн

#2 Окт. 13, 2023 08:40:01

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2586
Репутация: +  60  -
Профиль   Отправить e-mail  

Помогите решить задачку!

СОгласно математических постулатов треугольник может существовать если сумма длины двух его сторон больше третьей.
Таким образом нужно всего лишь проверить 3 варианта
a +b > c
a +c > b
b + c > a
если все три условия истинны - Треугольник может существовать
Ну а дальше - дело пары минут

 class Triangle:
    def __init__(self, a, b, c) -> None:
        self.a = a
        self.b = b
        self.c = c
    def check(self):
        if (self.a + self.b) > self.c and (self.a + self.c) > self.b and (self.b + self.c) > self.a:
            return "Triangle initialized"
        else:
            return "Initialization failed "
    def __repr__(self) -> str:
        return self.check() 
false_tr = Triangle(90, 30, 60)
print(false_tr)
true_tr = Triangle(120, 90, 60)
print(true_tr)
Дальше добавьте остальные проверки и получите готовый результат



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Окт. 14, 2023 01:57:35

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Помогите решить задачку!

Alex73
Уважаемые , подскажите , как решить . Заранее вам благодарен
Условие задания: напишите свой первый класс Triangle, в котором есть поля angle_1, angle_2, angle_3 и который при инициализации проверяет, что все введенные числа положительные и что сумма углов треугольника равна 180°.
В случае, если треугольник может существовать, конструктор класса должен напечатать текст Triangle initialized, а если такой треугольник существовать не может, то Initialization failed.
Sample Input 1: 90 30 60
Sample Output 1:Triangle initialized
Sample Input 2: 120 90 60
Sample Output 2:Initialization failed

ZerG
СОгласно математических постулатов треугольник может существовать если сумма длины двух его сторон больше третьей.
Таким образом нужно всего лишь проверить 3 варианта
a +b > c
a +c > b
b + c > a
если все три условия истинны - Треугольник может существовать
Ну а дальше - дело пары минут
Ну ты даешь! Там вообще вводятся углы только.

1) вводятся углы
2) где оно должно проверять, какие углы вводятся?
3) где оно должно запретить инициализацию?

Так что вариант только один:
  
>>> class Triangle:
...     def __init__(self, angle_a, angle_b, angle_c):
...         if (angle_a > 0 and angle_b > 0 and angle_c > 0 and
...             angle_a + angle_b + angle_c == 180):
...             self.angle_a = angle_a
...             self.angle_b = angle_b
...             self.angle_c = angle_c
...             print('Triangle initialized')
...         else:
...             print('Initialization failed')
... 
>>> t = Triangle(10, 90, 80)
Triangle initialized
>>> t.angle_a, t.angle_b, t.angle_c
(10, 90, 80)
>>> 
>>> t = Triangle(10, 90, 70)
Initialization failed
>>> 
>>> t = Triangle(-10, 90, 100)
Initialization failed
>>>



Офлайн

#4 Окт. 14, 2023 09:16:50

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2586
Репутация: +  60  -
Профиль   Отправить e-mail  

Помогите решить задачку!

py.user.next
Ох ты ж
Я еще удивился что нужно вводить стороны а проверять углы - но да не суть
Акела промахнулся



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version