تعلم البرمجة بلغة بايثون - الدرس العاشر: قراءة بيانات من المستخدم + التعليقات
في هذا الدرس سنتعرف على كيفية قراءة إدخالات من مستخدم برنامجنا واستعمال هذه الإدخالات ضمن البرنامج. وأيضاً سنتعرف على التعليقات في بايثون وفائدتها وكيفية إضافتها.
قراءة بيانات من المستخدم (Reading Input from the User)
في برامج بايثون يمكنك أن تقرأ بيانات يدخلها مستخدم برنامجك باستخدام الدالة input()
. مثلاً في المثال التالي:
nam = input("What is your name? ")
print('Welcome', nam)
نطلب من المستخدم في السطر الأول أن يدخل اسمه وستنتظر بايثون المستخدم حتى يكتب اسمه ويضغط Enter ثم تطبع جملة ترحيب به تتضمن الاسم الذي أدخله. مثلاً إذا أدخل المستخدم"Khaled"
فسيطبع البرنامج "Welcome Khaled"
. الصورة التالية توضح مثالاً لتنفيذ هذا البرنامج الصغير:
وكما قلنا سابقاً فإن القيم التي نحصل عليها من مصادر خارجية غالباً تأتي على شكل سلاسل نصية، وهذا يتضمن الدالة input()
فإن القيمة التي نحصل عليها من هذه الدالة هي سلسلة نصية حتى لو أدخل المستخدم أرقاماً.
في المثال التالي سنطلب من المستخدم أن يدخل عدداً ثم نضرب هذا العدد ب 7 ونطبع الناتج للمستخدم:
num = input("Enter a number: ")
num = int(num)
res = num * 7
print('Result =', res)
لاحظ أنه قبل أن نضرب الرقم الذي يدخله المستخدم ب 7 فإننا نقوم بتحويل الإدخال إلى عدد باستخدام الدالة int()
لأن الإدخال في الأصل سلسلة نصية. إذا لم نقم بهذه الخطوة سيواجه البرنامج خطأ في التنفيذ كما رأينا سابقاً.
لاحظ أننا نستخدم دالة print()
في آخر مثالين بشكل مختلف قليلاً حيث نعطي للدالة قيمتين بدل قيمة واحدة في السابق ونفصل بين القيمتين بفاصلة ,
. بهذه الطريقة ستطبع الدالة القيمتين مفصولتين بمسافة (space) كما يظهر في الصورة أعلاه حيث طبع البرنامج "Welcome Khaled"
.
القيم التي نعطيها لأي دالة يطلق عليها وسطاء وسنرى هذا بالتفصيل فيما بعد.
التعليقات (Comments)
عندما تتقدم في تعلم بايثون يمكنك أن تكتب برامج طويلة تحتوي على العديد من السطور والأوامر. لتساعد نفسك أولاً وغيرك ثانياً على فهم الكود والأوامر المكتوبة فيه عندما تعود لتقرأ برنامجك بعد فترة من الزمن: استخدم التعليقات. التعليقات هي سطور في برنامجك لا تؤثر على سير البرنامج أي أن بايثون لا تقوم بتنفيذ هذه السطور. وظيفة هذه السطور هي توضيح ما تفعله الأوامر الموجودة في برنامجك.
مثلاً لنعد إلى البرنامج الذي يقوم بإيجاد أكثر كلمة تكراراً في ملف وعدد مرات تكرارها والذي رأيناه في درس سابق. هذا هو البرنامج:
وهذا هو نفس البرنامج مع إضافة تعليقات مناسبة:
في الحالتين تنفيذ البرنامج لن يختلف ولكن ما سيختلف هو فهمك لما يفعله كل جزء من الكود عندما تعود لتقرأ البرنامج بعد سنة من كتابته مثلاً. لاحظ أني كتبت التعليقات بالعربية وهذا ممكن ولكن أكثر المبرمجين يكتبونها بالانكليزية.