Определите координату точки,которая ближе расположена к началу координат

Имеется код

from math import *
print("Введите исходные данные")
print("x0 = ", end='')
x0 = float(input())
print("xs = ", end='')
xs = float(input())
print("x2 = ", end='')
x2 = float(input())
print("Вы ввели:")
print("x0 = %.1f  xs = %.1f  x2 = %.31f" % (x0, xs, x2))
x = x0
y = 0
while x <= x2 + xs / 2:
    y = 2*sin((3/4) * x)
else:
    y = ("error")
print("x = ", x, "y = ", y)
x += xs

Задача: Определить координаты точки (x, f(x), которая ближе всего расположена к началу координат, т.е. к точке (0, 0).

Проблема: У меня не вычисляются значения функции 2*sin((3/4)*x), но пишет error, в случае несоблюдения заданных условий. +Я не понимаю как определить координаты этой точки. Помогите пожалуйста :)


Ответы (1 шт):

Автор решения: Igor
x = x0
y = 2 * sin(0.75 * x)
d2 = x**2 + y**2
xmin = x
ymin = y
while x <= x2 + xs / 2:
    y = 2 * sin(0.75 * x)
    if (x**2 + y**2) < d2:
        d2 = x**2 + y**2
        xmin = x
        ymin = y
    x += xs
print("x = ", xmin, "y = ", ymin)
→ Ссылка