Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 15.10.2023
Сообщений: 1

Две точки и расстояние между ними

15.10.2023, 09:38. Показов 768. Ответов 8

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите разобраться.
Результат, который хочу:
1.Есть класс точек, с параметрами х и у.
Пользователь вводит параметры точек.

2. Пользователю выводятся введенные им точки.

3. Есть функция, через которую находится расстояние между этими точками.

Проблемы, с которыми столкнулась:
1. При выводе есть текст, но не выводятся параметры точек.
2. При написании функции запуталась, как передать системе полученные объекты.


То, что попробовала сделать.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Point():
 
    def __init__(self, x, y):
        self.x = x
        self.y = y
 
    def distance(self,point_1, point_2):
       return (((point_1[0] - point_2[0])**2+(point_1[1]-point_2[1])**2)**0,5)
 
point_1 = Point(float(input('x1')), float(input('y1')))
 
x = float(input('x2'))
y = float(input('y2'))
point_2 = Point(x, y)
 
print(point_1, point_2)
Если есть основы или правила, которые здесь нарушаю - буду благодарна за источники, где можно с этим подробно ознакомиться.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2023, 09:38
Ответы с готовыми решениями:

Даны координаты двух точек. Вычислить расстояние между ними
Желательно с объяснениями

Найти по заданным координатам 4-х точек попарное расстояние между ними
Найти по заданным координатам 4-х точек попарное расстояние между ними. Все данные не обязаны быть целыми

Нарисовать две точки и найти расстояние между ними
Как нарисовать красным цветом кистью(как в paint-е) например,две точки на picturebox-е и вывести расстояние между ними в пикселях или в чем...

8
125 / 120 / 18
Регистрация: 05.08.2021
Сообщений: 525
15.10.2023, 09:49
Python
1
2
3
4
5
6
a = (int(input('первая координата точки a ')),int(input('вторая координата точки a '))) 
b = (int(input('первая координата точки b ')),int(input('вторая координата точки b '))) 
catet1 = abs(a[0] - b[0]) 
catet2 = abs(a[1] - b[1]) 
result = (catet1 ** 2 + catet2 ** 2) ** .5 
print(float('{:.3f}'.format(result)))
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
15.10.2023, 10:45
Лучший ответ Сообщение было отмечено Arsegg как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Point():
 
    def __init__(self, x, y):
        self.x = x
        self.y = y
 
    def distance(self, other_point):
        return ((self.x - other_point.x) ** 2 + (self.y - other_point.y) ** 2) ** 0.5
 
 
point_1 = Point(float(input('x1')), float(input('y1')))
point_2 = Point(float(input('x2')), float(input('y2')))
 
print(point_1.distance(point_2))
4
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
15.10.2023, 11:23
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Python
1
return ((self.x - other_point.x) ** 2 + (self.y - other_point.y) ** 2) ** 0.5
Пробелы при возведении в степень режут глаз. На 100% уверен, что это не соответствует PEP8 при возведении в квадрат - здесь надо выделять пробелами сложение, как операцию с меньшим приоритетом, и на 99% при возведении в 0.5 - как то вычурно выглядит(понимаю, что так себе аргумент).
Прямых указаний на это не нашел, исключительно мое мнение
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
15.10.2023, 11:27
Red white socks, да я б вообще все по-другому написал. Тут просто подкорректировал решение ТСа
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
15.10.2023, 11:36
iSmokeJC,

Не по теме:

тяжелая участь перфекциониста и граммар-наци в одном лице. Заморочиться на подобную фигню



Вроде как надо
Python
1
a = x**2 + y**2
Но также на мой вкус
Python
1
a = self.x ** 2
И вот что теперь делать с
Python
1
a = self.x**2 + self.y**2
?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
15.10.2023, 11:45

Я бы от квадратов вообще избавился ))
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
15.10.2023, 15:00
Цитата Сообщение от Red white socks Посмотреть сообщение
И вот что теперь делать с
тут-то просто:
Python
1
a = self.x*self.x + self.y*self.y
сложнее, когда показатель степени значительно больше двойки

К тому же, pep8 - не руководство строгих правил, а скорее рекомендации по написанию кода...
Если используются операторы с разными приоритетами, попробуйте добавить пробелы вокруг операторов с самым низким приоритетом. Используйте свои собственные суждения, однако, никогда не используйте более одного пробела, и всегда используйте одинаковое количество пробелов по обе стороны бинарного оператора.
такшта...
1
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
15.10.2023, 15:26
Цитата Сообщение от Red white socks Посмотреть сообщение
Прямых указаний на это не нашел, исключительно мое мнение
PEP 8:
If operators with different priorities are used, consider adding whitespace around the operators with the lowest priority(ies). Use your own judgment; however, never use more than one space, and always have the same amount of whitespace on both sides of a binary operator:
Python
1
2
3
4
5
6
# Correct:
i = i + 1
submitted += 1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)
Python
1
2
3
4
5
6
# Wrong:
i=i+1
submitted +=1
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)
То ли дело в Java:
All binary operators except . should be separated from their operands by spaces. Blank
spaces should never separate unary operators such as unary minus, increment (“++”), and
decrement (“--”) from their operands. Example:
Java
1
2
3
4
5
6
a += c + d;
a = (a + b) / (c * d);
while (d++ = s++) {
n++;
}
prints("size is " + foo + "\n")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2023, 15:26
Помогаю со студенческими работами здесь

Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили пе
Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если...

Скорость первого автомобиля Y км/ч, второго – Y км/ч, расстояние между ними 120 км. Определить расстояние между ними
Скорость первого автомобиля Y км/ч, второго – Y км/ч, расстояние между ними 120 км. Определить расстояние между ними через T часов, если...

Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними чер
Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если...

Разделить ul на две колонки и сократить расстояние между ними
Всем привет, нужно разбить список на две части Я это сделал при помощи -moz-column-count: 2; -webkit-column-count: 2; Но...

Заданы 2 точки пространстве. Найти расстояние между ними
№1. Заданы 2 точки пространстве. Найти расстояние между ними №2 Даны 3числа А,В,С. Если она порядочны то удвоить их значения; иначе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru