Уведомления

Группа в Telegram: @pythonsu

#1 Март 31, 2020 13:09:15

Zima
Зарегистрирован: 2019-06-24
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача Евклида на расстояние между двумя точками, помогите решить

Напишите программу, которая рассчитывает Евклидово расстояние между входными точками.
Вход: две точки (4 числа, разделенные пробелом)
Выход: расстояние между двумя точками
Пример ввода: 1 1 5 4
Пример вывода: 5

 import sys
data = [int(x) for x in sys.stdin.readlines()[0].rstrip().split()]
# put your python code here
print (data) # Change this

Офлайн

#2 Март 31, 2020 13:17:03

Zima
Зарегистрирован: 2019-06-24
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача Евклида на расстояние между двумя точками, помогите решить

Если я пишу это

 def dist(x, y):
    return ((x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2) ** 0.5
 
a = [(12, 76.5), (-5.123, 58), (1.1, 2), (3.1, 4.15), (100, 100)]
 
distances = [] 
 
for p1 in a:
    for p2 in a:
        if p1 != p2:
            distances.append((p1, p2, dist(p1, p2)))
 
p1, p2, distance = max(distances,key= lambda t: t[2])
print(distance)

Test output:
139.23077964300853
а нужно 5

Офлайн

#3 Март 31, 2020 14:32:30

Zima
Зарегистрирован: 2019-06-24
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача Евклида на расстояние между двумя точками, помогите решить

решение

 import sys
data = [int(x) for x in sys.stdin.readlines()[0].rstrip().split()]
dist = int(((data[0] - data[2]) ** 2 + (data[1] - data[3]) ** 2) ** 0.5)
print (dist) # Change this

Отредактировано Zima (Март 31, 2020 14:33:37)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version