Top.Mail.Ru
Ответы

Помогите пожалуйста с решением на Python))

Дана точка на плоскости с координатами (х, у). Составить программу,
которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости
от того, лежит ли точка внутри заштрихованной области, вне
заштрихованной области, или на ее границе. Области задаются графически
следующим образом:

По дате
По рейтингу
Аватар пользователя
Новичок
12345
 x, y = map(float, input().split())
r, t = x * x + y * y, max(0, y)
if r < 1 and x < t: print('Да')
elif r > 1 or x > t: print('Нет')
else: print('На границе') 

Нейросеть "Татьяна" привычно выдала красиво оформленный и абсолютно ошибочный ответ.

Аватар пользователя
Просветленный
1234567891011121314151617181920212223
 def check_point(x, y):  
    # Уравнение окружности x^2 + y^2 = 1  
    circle_equation = x**2 + y**2  
    # Уравнение прямой y = x  
    line_equation = y - x  
      
    if circle_equation < 1 and line_equation < 0:  
        return "Да"  
    elif circle_equation > 1 or line_equation > 0:  
        return "Нет"  
    elif circle_equation == 1 or line_equation == 0:  
        return "На границе"  
    else:  
        return "Нет"  
  
# Пример использования функции  
x = float(input("Введите x: "))  
y = float(input("Введите y: "))  
  
result = check_point(x, y)  
print(result)

 

Этот код проверяет, находится ли точка внутри заштрихованной области, вне её или на границе, используя уравнения окружности и прямой.

и код этой же функции в 1 строку

12
 check_point = lambda x, y: "Да" if x**2 + y**2 < 1 and y < x else "Нет" if x**2 + y**2 > 1 or y > x else "На границе"