Определение координатной четверти фигуры

Рейтинг: -4Ответов: 1Опубликовано: 06.05.2023

Всем привет, написал задачу на пайтоне:

Задача:

Определите, в какой координатной четверти расположен треугольник, образованный прямой, заданной уравнением y=ax+b, и осями координат. Вот мой код:

a = float(input("Введите коэффициент a: "))
b = float(input("Введите коэффициент b: "))

if a > 0 and b > 0:
    print("Треугольник находится в первой координатной четверти.")
elif a < 0 and b > 0:
    print("Треугольник находится во второй координатной четверти.")
elif a < 0 and b < 0:
    print("Треугольник находится в третьей координатной четверти.")
elif a > 0 and b < 0:
    print("Треугольник находится в четвертой координатной четверти.")
else:
    print("Точка пересечения находится на оси координат.")

Правильно сделал?

Ответы

▲ 2

Для решения данной задачи следовало нарисовать графики функции y = a * x + b, чтобы убедиться что треугольники, образованные прямой и линиями координат будут находиться в таких квадрантах:

  • a > 0:
    • b > 0 : II квадрант
    • b < 0 : IV квадрант
  • a < 0:
    • b > 0 : I квадрант
    • b < 0 : III квадрант

введите сюда описание изображения

Соответственно, код можно упростить, убрав операторы if:

  • сначала проверяем, существует ли треугольник, т.е. оба коэффициента отличаются от нуля, а значит, их произведение не равно нулю
  • затем "вычисляем" квадрант, используя неявное преобразование True -> 1, False -> 0
a = float(input("Введите коэффициент a: "))
b = float(input("Введите коэффициент b: "))

if a * b == 0:
    print("Треугольника не существует.")
else:
    s = ["в первой", "во второй", "в третьей", "в четвертой"][2 * (b < 0) + (a > 0)]    
    print(f"Треугольник находится {s} координатной четверти.")