بخشی از مجموعه

چندین نمونه کد

~2 دقیقه مطالعه • بروزرسانی ۱۵ مهر ۱۴۰۴

شرح برنامه

این برنامه مختصات سه‌نقطه A، B و C را از کاربر دریافت می‌کند.
سپس بررسی می‌کند که آیا این سه‌نقطه روی یک خط قرار دارند یا نه.
اگر هم‌خط باشند، معادله خط به‌صورت ax + by + c = 0 نمایش داده می‌شود.
در غیر این‌صورت، خروجی No خواهد بود.


کد پایتون:


def slope(p1, p2):
    x1, y1 = p1
    x2, y2 = p2
    if x2 - x1 == 0:
        return None  # خط عمودی
    return (y2 - y1) / (x2 - x1)

def line_equation(p1, p2):
    x1, y1 = p1
    x2, y2 = p2
    a = y2 - y1
    b = x1 - x2
    c = x2 * y1 - x1 * y2
    return a, b, c

# دریافت ورودی
print("مختصات سه‌نقطه را وارد کنید:")
x1, y1 = map(float, input("نقطه A (x y): ").split())
x2, y2 = map(float, input("نقطه B (x y): ").split())
x3, y3 = map(float, input("نقطه C (x y): ").split())

# بررسی هم‌خطی
m1 = slope((x1, y1), (x2, y2))
m2 = slope((x2, y2), (x3, y3))

if m1 == m2:
    a, b, c = line_equation((x1, y1), (x2, y2))
    print(f"معادله خط: {a}x + {b}y + {c} = 0")
else:
    print("No")

نمونه خروجی:


نقطه A (x y): 1 2  
نقطه B (x y): 2 4  
نقطه C (x y): 3 6  

معادله خط: 2x + -1y + 0 = 0

توضیح مراحل:

- ابتدا شیب دو خط AB و BC محاسبه می‌شود
- اگر شیب‌ها برابر باشند، سه‌نقطه هم‌خط هستند
- سپس با استفاده از دو نقطه اول، ضرایب a، b و c برای معادله خط محاسبه می‌شود
- اگر شیب‌ها متفاوت باشند، خروجی No چاپ می‌شود


نوشته و پژوهش شده توسط دکتر شاهین صیامی