الآن سنعود إلى المدرسة الابتدائية ونحاول كتابة برنامج يحسب محيط ومساحة مربع.
ملاحظة حول الرياضيات
آمل أن لا يخيف هذا أحدًا ولكن كلمة "كمبيوتر" مشتقة من كلمة حوسبة (computing). لذلك لا داعي للخوف ، ستكون المعرفة المكتسبة من المدرسة الابتدائية كافية للبرمجة الأساسية.
يمكن حساب محيط مربع بطول ضلع يبلغ a بواسطة معادلة P = 4a ، ومعادلة المساحة هي S = a². لذلك لنفترض أن مربعنا له طول ضلع يساوي a = 356 سم.
اطبع النتيجة باستخدام ()print
.
احفظ البرنامج في الملف sudan/02/square.py/~
وشغله؛ هذا ما يجب أن يطبعه:
The perimeter of a square with a side of 356 cm is 1424 cm.
The area of a square with a side of 356 cm is 126736 cm2
يجب حساب النتيجة بواسطة Python لذلك لا تكتب
الأرقام 1424 و 126736 في الكود الخاص بك.
إذا كنت لا تعرف ما يجب القيام به ، فانظر إلى برنامجك printing.py
من الدرس حول الطباعة والأخطاء (Print and errors)
،
حيث يقوم أحد الأسطر بعمل مشابه.
إذا كان كل شيء يعمل ، فحاول تغيير البرنامج بحيث يحسب محيط ومساحة مربع بطول ضلع 123 سم.
هل يمكنك جعلها حتى لجانب من 3945 سم ، 832 سم ، 956 سم؟ هل تستمتع بإعادة كتابة الأرقام؟ إذا كان البرنامج أطول (عدد قليل من الصفحات) كيف يمكنك التأكد من أنك لم تنس إعادة كتابة أحد الأرقام؟
هناك طريقة لكتابة برنامج بدون إعادة كتابة جميع الأرقام في كل مرة: أنت تسمي ضلع المربع ثم تستخدم ذلك فقط الاسم. في Python ، تُستخدم المتغيرات (variables) لتسمية القيم. يتم استخدامها بهذه الطريقة:
side = 123
print("The perimeter of a square with a side of", side,"cm is ", side * 4,"cm.")
print("The area of a square with a side of", side,"cm is", side * side, "cm2.")
يمكنك كتابة الاسم ، ثم =
وبعد ذلك
التعبير الذي سيتم تعيين قيمته
إلى ذلك المتغير.
كلما كتبت اسم المتغير ،
سيستخدم Python قيمته فقط.
الاتفاقية هنا هي وضع مسافة قبل وبعد علامة المساواة.
وهذا يقودنا إلى أحد المبادئ الأساسية للبرمجة: لا تكرر نفسك (Don't repeat yourself) ، DRY. عندما يكون هناك قيمة أو تعبير أو نفس الجزء من البرنامج بشكل متكرر ، فإن المبرمج الجيد سوف يسمي هذا الجزء ، ثم يستخدم الاسم عدة مرات. غالبًا ما يحتاج البرنامج إلى التغيير - إما هناك خطأ أو تغيرت المهمة. وبعد ذلك ، يسهل إجراء هذا التغيير في مكان واحد فقط.
علاوة على ذلك ، فإن الأسماء الواضحة تجعل قراءة البرنامج أسهل: 4 * side
(ربما squareSide
سيكون أكثر وضوحًا)
لا يحتاج إلى أي تعليق ، ولكن مع 4 * 183
، ليس من الواضح ما
تعني الأرقام.
هذه مهمة إضافية! يمكنك تخطيها.
تغيير المهمة! حاول توسيع البرنامج بحيث يحسب محيط ومساحة دائرة حيث سيكون نصف القطر هو نفس قيمة طول الضلع من كودك. محيط دائرة نصف قطرها r هو o = 2πr ، المساحة هي S = πr² و π تقريبًا 3.1415926.
لا تتردد في استخدام المزيد من المتغيرات! من الجيد أولاً حساب النتيجة. قم بتخزينه في متغير ثم استخدمه في print
.
قم بتسمية جميع المتغيرات بشكل مناسب.
يحتوي Python بالفعل على بعض المتغيرات (أو الثوابت) المعرفة مسبقًا. يمكنك وضع from math import pi
في بداية برنامجك. الآن لديك متغير pi
متاح ، والذي يحتوي على قيمة π. ما هو بالضبط from math import pi
؟ ستتعلم ذلك خلال أحد الدروس المستقبلية!
الآن سنجعل كودنا أكثر وضوحًا باستخدام التعليقات. في Python ، يبدأ التعليق بعلامة هاش "#" ، بعد ذلك يمكنك كتابة أي شيء حتى نهاية السطر. يتم تجاهل كل شيء بعد هذه العلامة بواسطة تنفيذ كود Python.
التعليقات مهمة! لا تقرأ البرامج فقط بواسطة أجهزة الكمبيوتر ، ولكن أيضًا بواسطة البشر الآخرين. في تعليقاتك ، يمكنك تضمين عبارات مثل: ما الذي يفعله البرنامج بأكمله ، شرح كيفية عمل جزء أكثر تعقيدًا وتوضيح شيء ما ليس واضحا بما فيه الكفاية.
عندما تكتب برنامجًا ، حاول أن تدخل في دور شخص سيقرأه ، وكل ما قد يكون غير واضح يجب تحديده في التعليقات. ساعد نفسك. بعد بضعة أشهر لن تتذكر ما هو البرنامج.
# This program computes the perimeter and the area of a square
side = 123
print("The perimeter of a square with a side of", side,"cm is ", side * 4,"cm.")
print("The area of a square with a side of", side,"cm is", side * side, "cm2.")
الاتفاقية هي أنه عند كتابة تعليق في نفس السطر
مثل الكود ، يوجد مسافتان أو أكثر قبل #
،
ثم بعد #
يوجد مسافة واحدة أخرى.
هناك العديد من التفضيلات الشخصية حول متى وأين استخدام التعليقات. تعتمد هذه التفضيلات أيضًا على مستوى خبرة المبرمجين الذين يساهمون في المشروع.
أسهل طريقة لتحديد اين و متى وضع التعليقات وما الذي يجب أن يحتويه هو:
علق كثيرًا وكلما لم تكن متأكدًا بنسبة 100٪ من جزء معين من الكود ستفهم أنت بعد بضعة أشهر ما يفعله ولماذا.
أخيرًا ، سنتعلم كيفية تحسين البرنامج حتى لا نضطر إلى كتابة الرقم في البرنامج - ويمكن للمستخدمين (إدخال) رقمهم الخاص.
تمامًا كما استخدمت print
، سنستخدم الآن دالة (function) مختلفة
لالتقاط إدخال المستخدم:
سنشرح التفاصيل لاحقًا ، الآن ، فقط تذكر هذه:
إذا كنت تريد استرداد نص (string) من المستخدم ، فاستخدم:
variable = input('Enter some text: ')
إذا كنت تريد استرداد رقم صحيح (whole number) ، فاستخدم:
variable = int(input('Enter some whole number: '))
إذا كنت تريد استرداد رقم عشري (decimal) ، فاستخدم:
variable = float(input('Enter some decimal: '))
يمكن تخصيص النص الموجود داخل الأقواس وفقًا لاحتياجاتك. يُستخدم كنص مطالبة للمستخدم ، لذا استخدمه لطلب أي معلومات مطلوبة.
والآن حاول جمع كل شيء معًا: اطلب من المستخدم جانبًا للمربع واستخدم المتغير كمدخل للحساب.