Untitled
unknown
plain_text
a year ago
4.6 kB
4
Indexable
import turtle # 1. دریافت معادله خط از کاربر def get_line_equation(): """ این تابع معادله خط را از کاربر دریافت می کند. Returns: a: شیب خط b: عرض از مبدأ """ while True: try: a = float(input("شیب خط را وارد کنید: ")) b = float(input("عرض از مبدأ را وارد کنید: ")) break except ValueError: print("ورودی شما نامعتبر است. لطفاً عددی را وارد کنید.") return a, b # 2. رسم خط با استفاده از معادله def draw_line(a, b, color="black", linewidth=1): """ این تابع خطی را با استفاده از معادله خط رسم می کند. Args: a: شیب خط b: عرض از مبدأ color: رنگ خط linewidth: ضخامت خط """ turtle.penup() turtle.goto(-10, a * -10 + b) turtle.pencolor(color) turtle.setlinewidth(linewidth) turtle.pendown() turtle.goto(10, a * 10 + b) # 3. دریافت مختصات دو نقطه def get_two_points(): """ این تابع مختصات دو نقطه را از کاربر دریافت می کند. Returns: x1: مختص x نقطه اول y1: مختص y نقطه اول x2: مختص x نقطه دوم y2: مختص y نقطه دوم """ while True: try: x1 = float(input("مختص x نقطه اول را وارد کنید: ")) y1 = float(input("مختص y نقطه اول را وارد کنید: ")) x2 = float(input("مختص x نقطه دوم را وارد کنید: ")) y2 = float(input("مختص y نقطه دوم را وارد کنید: ")) break except ValueError: print("ورودی شما نامعتبر است. لطفاً عددی را وارد کنید.") return x1, y1, x2, y2 # 4. محاسبه معادله خط دو نقطه def calculate_line_equation(x1, y1, x2, y2): """ این تابع معادله خط دو نقطه را محاسبه می کند. Args: x1: مختص x نقطه اول y1: مختص y نقطه اول x2: مختص x نقطه دوم y2: مختص y نقطه دوم Returns: a: شیب خط b: عرض از مبدأ """ if x1 == x2: # خط عمودی است a = None b = x1 else: a = (y2 - y1) / (x2 - x1) b = y1 - a * x1 return a, b # 5. نمایش توضیحات مربوط به معادله خط def show_توضیحات(): """ این تابع توضیحات مربوط به معادله خط را نمایش می دهد. """ print("معادله خط به صورت y = ax + b است.") print("در این معادله:") print(" * a شیب خط نامیده میشود و نشاندهنده زاویه خط با محور افقی (x) است.") print(" * b عرض از مبدأ نامیده میشود و نشاندهنده نقطه تقاطع خط با محور عمودی (y) است.") # 6. شروع برنامه show_توضیحات() # دریافت معادله خط از کاربر a, b = get_line_equation() # رسم خط با استفاده از معادله draw_line(a, b) # دریافت مختصات دو نقطه x1, y1, x2, y2 = get_two_points() # محاسبه معادله خط دو نقطه a, b = calculate_line_equation(x1, y1, x2, y2) # نمایش معادله خط دو نقطه print("معادله خط دو نقطه ({}, {}) و ({}, {}) به صورت y = {}x + {} است.".format(x1, y1, x2, y2, a, b)) # 7. رسم خط دو نقطه draw_line(a, b, color="red", linewidth=2) # 8. نمایش نقاط turtle.penup() turtle.goto(x1, y1) turtle.dot("red") turtle.goto(x2, y2) turtle.dot("red") # 9. نمایش معادله خط در کنار خط turtle.setposition(-10, a * -10 + b + 10) turtle.pendown() turtle.write("y = {}x + {}".format(a, b), font=("Arial", 12, "normal")) # 10. انتخاب نوع خط while True: choice = input("نوع خط را انتخاب کنید (خط مستقیم/خط منحنی): ").lower() if choice in ("خط مستقیم", "خط منحنی"): break else: print("ورودی شما نامعتبر است.") # 11. رسم خط بر اساس نوع انتخابی if choice == "خط مستقیم": # رسم خط مستقیم draw_line(a, b) else: # رسم خط منحنی # ... # 12. نمایش توضیحات مربوط به نوع خط if choice == "خط مستقیم": print("خط رسم شده یک خط مستقیم است.") else: print("خط رسم شده یک خط منحنی است.") # 13. پایان برنامه turtle.done()
Editor is loading...
Leave a Comment