Не могу понять почему не работает программа на платформе stepik
Сама задача:
Даны четыре действительных числа: x1, y1, x2, y2. Напишите функцию distance(x1, y1, x2, y2), вычисляющая расстояние между точкой (x1,y1) и (x2,y2). Считайте четыре действительных числа и выведите результат работы этой функции.
Вывод с точность до 4-х знаков после запятой.
Код:
from math import sqrt
def distance(x1, y1, x2, y2):
return sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
x1 = float(input())
x2 = float(input())
y1 = float(input())
y2 = float(input())
print(distance(x1, x2, y1, y2)*100000 // 10 / 10000)
Ответы (1 шт):
Порядок считывания должен быть: x1, y1, x2, y2, в функцию вы тоже неправильно передаете параметры, там ведь сначала x1, после x2.
Выражение с *100000 // 10 / 10000 странное, чтобы вывести с указанной точностью нужно результат функции distance привести к строке через форматирование, указав точность (.4f)
x1 = float(input())
y1 = float(input())
x2 = float(input())
y2 = float(input())
d = distance(x1, y1, x2, y2)
print(f'{d:.4f}')
Если на той платформе будут проблемы с f-строками, то можно через функцию format:
print('{:.4f}'.format(d))