|
0 / 0 / 0
Регистрация: 01.03.2021
Сообщений: 13
|
||||||
Создание класса Point в Python01.03.2021, 00:32. Показов 16993. Ответов 22
Здравствуйте, только начал изучать Python. Задача на ООП. У меня есть класс Point. С координатами x и y. Затем идёт класс Figure с дочерним классом Triangle. Мне нужно чтобы там было 3 точки и соответственно затем вычислить расстояние между ними, которые будут катетами треугольника. Как в классе Triangle их описать ? И затем использовать для вычисления периметра и площади?
Я тут просто использовал a, b, c как расстояние, а они должны быть точками. Которым я дам координатами. Помогите.
0
|
||||||
| 01.03.2021, 00:32 | |
|
Ответы с готовыми решениями:
22
Создание класса в Python Определить класс Rectangle и класс Point. Объявить массив из n объектов класса Point. Написать функцию, определяющ |
|
0 / 0 / 0
Регистрация: 01.03.2021
Сообщений: 13
|
||||||
| 02.03.2021, 12:53 [ТС] | ||||||
|
Если я правильно всё учёл, то код будет выглядеть так?
0
|
||||||
| 02.03.2021, 16:21 | |||||||||||||||||||||
Сообщение было отмечено Candykiller16 как решение
Решение
Candykiller16, Кстати, я до сих пор не вникал, как Вы вычисляете длины сторон треугольника. У питона нет функции sqrt(). Это функция из модуля math . Тогда нужно импортировать этот модуль. Если не импортировать модуль, то извлечение корня можно реализовать возведением в степень 0.5
Добавлено через 3 минуты Candykiller16, Если подытожить все то, что я написал выше, то можно написать такой код Кликните здесь для просмотра всего текста
Выводит:
Candykiller16, Использование избыточных (с точки зрения математики) атрибутов, улучшает читабельность кода и на самом деле соответствует реальному мышлению человека, в котором присутствуют такие дополнительные свойства при определении треугольника, что облегчает процесс мышления. Формально атрибуты экземпляра при создании класса можно сравнить с глобальными переменными модуля. Глобальные переменные модуля, при правильном их использовании делают код более читабельным и повышают его производительность, так как при каждом обращении к переменной не нужно по новой вызывать функцию, которая забирает время на свою работу. При наличие глобальной переменной, функция отрабатывает и заносит результат в глобальную переменную только в том случае, когда изменяются ее аргументы, а не каждый раз, когда в каком то месте нужно получить ее значение. Хотя я понимаю, в каких случаях с глобальными переменными могут возникнуть проблемы. Когда для разных мест нужна одна и та же функция, но с разными аргументами при вызове. В таких случаях нельзя результат работы функции помещать в одну и ту же глобальную переменную. В этом случае нужно осуществлять привязку к функции аргументов, которые используются при вызове функции. Проще всего это делать используя класс глобальных переменных. Где глобальная переменная будет экземпляром класса, у которого в качестве атрибутов будет сама функция и конкретные аргументы для ее вызова. Таким образом глобальные переменные для хранения результата вычисления функции будут разными, с учетом используемых атрибутов. Но такое усложнение имеет смысл только в крупных проектах, где зрительно тяжело отслеживать логику работы глобальных переменных и требуется формализовать защиту от возможных ошибок. Но такое усложнение, в свою очередь облегчит понимание логики работы кода и как я говорил, повысит производительность программы, где результаты работы функции используются многократно, вместо того, что бы многократно вызывать эту функцию, тратя на ее работу время. Добавлено через 59 минут Candykiller16, Вообще то имеет смысл делать проверку, является ли треугольник образуемый заданными точками, прямоугольным. Тогда код будет выглядеть так: Кликните здесь для просмотра всего текста
Выводит:
Я проверку сделал не совсем правильную. Нужно искать наибольшую сторону и проверять, является ли ее квадрат равен сумме квадратов двух других сторон. То есть нужно сначала определить, какая сторона гипотенуза, а какие катеты. и только тогда вычислять площадь по предложенной формуле. Если хотите доработайте код, что бы была правильная проверка и правильно вычислялась площадь. Я на сегодня все. Добавлено через 14 минут Так как код по умолчанию предполагает, что точки ac принадлежат гипотенузе, то нужно или жестко задавать в синтаксисе создания экземпляра класса, что точки a и c задают гипотенузу, или в методе __init__ в классе искать какая из сторон является гипотенузой.
1
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 01.03.2021
Сообщений: 13
|
|
| 02.03.2021, 18:15 [ТС] | |
|
Спасибо вам большое)
0
|
|
| 02.03.2021, 18:15 | |
|
Описать в программе три объекта класса point и два объекта класса cpoint
Написать класс POINT 3D на Python Шаблон класса Point
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки
План доработки модели динамики микоризных симбиозов (EcM с гистерезисом)
Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
|
сукцессия 3
anaschu 25.06.2026
Примерный план работ по модели
|
сукцессия 2
anaschu 25.06.2026
параметризировочная калибровочная таблица будущей модели
|
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание:
как одно здание порождает конфликты требований,
которые никто не планировал
Материалы для обсуждения с МГСУ · 2026
Рисунки внутри приложенного ворд файла.
Что за. . .
|
|
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования?
Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная.
Где разрыв
. . .
|
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно»
Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
|
26. мед мат модель.Какие типы конфликтов функциональных требований можно рассчитать через ДЕС-моделирование (СМО) в AnyLogic?
anaschu 22.06.2026
Что ДЕС/ СМО умеет считать напрямую:
Конфликты за ресурсы (очереди, узкие места). Несколько типов агентов (повара, учителя, рабочие, пациенты) претендуют на один ресурс (лифт, вход, коридор,. . .
|
25 модель здравосохранения и функциональных требований к пищеблоку: конфликты функциональных требований.
anaschu 22.06.2026
Есть ли данные о том, какие функциональные/ эксплуатационные требования или их сочетания труднее всего учитывать при проектировании зданий?
Да, такие данные есть, и они хорошо описаны и в российской,. . .
|