البرمجة

حساب المسافة بين نقطتين في Python

تبدو مشكلتك تكمن في أنك تقوم بتقديم إدخال المستخدم على أنه نص (string) بدلاً من عدد صحيح (integer) في بعض الأماكن. لذا، يجب عليك تحويل إدخال المستخدم إلى نوع البيانات المناسب قبل استخدامه في الحسابات الرياضية.

في السطور التالية:

python
p1 = [int(input("PLease enter point 1x\n")), (input("Please enter point 1y\n"))] p2 = [int(input("PLease enter point 2x\n")), (input("Please enter point 2y\n"))]

تقوم بتحويل الإدخال الأول إلى عدد صحيح باستخدام int()، ولكن الإدخال الثاني تتركه كنص (string) دون تحويله. لذا، يمكن حل المشكلة عن طريق تحويل الإدخال الثاني أيضًا إلى عدد صحيح. يمكنك تحقيق ذلك بإضافة int() حول input() الثاني، كما هو موضح أدناه:

python
p1 = [int(input("Please enter point 1x\n")), int(input("Please enter point 1y\n"))] p2 = [int(input("Please enter point 2x\n")), int(input("Please enter point 2y\n"))]

بعد تحديد الإدخال بشكل صحيح، ستتمكن الآن من استخدام النقاط المُدخلة بشكل صحيح في العمليات الرياضية دون أي مشكلة، وسيتم حساب المسافة بشكل صحيح.

المزيد من المعلومات

بعد إجراء التغييرات المقترحة، يبدو الكود الخاص بك الآن كالتالي:

python
import math p1 = [int(input("Please enter point 1x\n")), int(input("Please enter point 1y\n"))] p2 = [int(input("Please enter point 2x\n")), int(input("Please enter point 2y\n"))] distance = math.sqrt(((p1[0] - p2[0])**2) + ((p1[1] - p2[1])**2)) print(distance)

بعد أن قمت بتصحيح الأخطاء، يمكنك الآن تشغيل البرنامج بنجاح. وباستخدامه، يمكن للمستخدم إدخال إحداثيات نقطتين، وسيتم حساب المسافة بينهما بشكل صحيح باستخدام الرياضيات.

لاحظ أن البرنامج يعتمد على فكرة المسافة بين نقطتين في الفضاء ثنائي الأبعاد، وهي مسافة يُعرفها الناس جيدًا من الجبر والهندسة. حيث تُعبر عنها الصيغة التي استخدمتها في البرنامج، والتي تعتمد على مبدأ حساب المسافة بين نقطتين في نظام الإحداثيات الكارتيسي.

عند تشغيل البرنامج، سيُطلب من المستخدم إدخال إحداثيات كل من النقطتين في البداية والنهاية. بعد ذلك، سيتم حساب المسافة بين النقطتين المدخلة بدقة باستخدام الصيغة الرياضية المذكورة.

من خلال تطوير برامج مثل هذا، يمكن للمبرمجين تعلم العديد من المفاهيم الأساسية في علوم الحاسوب والرياضيات، وتطبيقها عمليًا في بيئة البرمجة. وهذا يمثل خطوة أساسية في رحلة تعلم البرمجة وتطوير المهارات البرمجية.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر