
إدخال البيانات من المستخدم في بايثون
المدخلات input في بايثون, نعلم أن البرمجة عبارة عن مُدخلات Input و مُخرجات output و بينهما وحدات المنطق و البرمجيات.
سنتعلم اليوم كيفية إستقبال Input عن طريق لوحة المفاتيح keyboard بإستخدام الدالة input أي كيف تنشئ برنامح يتفاعل مع المستخدم و من خلالها نجعل المُستخدم قادراً على إدخال البيانات في البرنامج أثناء عمل البرنامج و بعد إدخالها سيقوم البرنامج بمعالجتها و فعل شيء معين بها. و عند إستدعاء دالة الإدخال input يقوم المفسر compiler هذه اللغة بإنتظار المُستخدم لإدخال القيم المُناسبة التي يريد إدخالها و بعد الإنتهاء من الإدخال نضغط على مفتاح Enter و سيرَّجع. كل ما كتبته المستخدم لنص في المكان الذي إستدعى الداله منه. أما إذا تريد ما ضمن الداله يكون عدد صحيح يجب ضبط الدالة تُرَجِع أي شيئ يدخل لها و تعتبره عدد.
الدالة input() في بايثون
تستخدم من أجل جعل المستخدم قادراً على إدخال بيانات إلى البرنامج أثناء عمل هذا البرنامج و نستخدم في هذا الأمر دالة جاهزة إسمها input() و في كل مرة نقوم بها بإستدعاء الدالة input() يقوم المفسّر الخاص في لغة بايثون بإنتظار المستخدم لإدخال ما يريد من لوحة المفاتيح ( Keyboard ) و بعد الإنتهاء من الإدخال و النقر على الزر Enter سيتم إرجاع الشيء الذي قام بإدخاله.
أمثلة على إدخال البيانات من المستخدم
#!/usr/bin/python3 name = input ("your name is ?")
انشأنا متغير name و إستدعينا به الدالة input, عند الضغط على زر Enter سوف يكتب لي البرنامج السؤال و نقوم بإدخال ما طلبه وهو الإسم. بعدما سألنا السؤال و أراد إدخال طلب مُعين له و هو إسم كتبتهُ. و ضغطت على زر Enter يكون قد أدخلت كلمة للبرنامج و لعرض ما تم إدخاله نكتب print المتغير كما يلي
!#/usr/bin/python3 name = input ("your name is ?") print(name) ahmed
هذا بالنسبة للنصوص, أما لضبط الداله لإستقبال اعداد كما بهذا المثال
age = int (input("your age is ?")) print(age) --------- 26
كما لاحظنا ضبطنا الدالة لإستقبال الأرقام فقط عن طريق int قبل دالة. الإدخال, في حال كتبنا أحرف سوف يُعطينا خطأ لأنها مضبوطه لإستقبال أرقام فقط.
مثال
سوف نقوم بضبط الدالة على إستقبال أرقام و نقوم بعملية حسابية وهي جمع عددين a و b يقوم البرنامج بطلبهم.
a = int(input("Enter a Number: ")) Enter a Number: 23 b = int(input("Enter b Number: ")) Enter b Number: 28 print('var a + var b = ', a + b) a + b = 51
نلاحظ أننا وضعنا الدالة input() في داخل الدالة int() لأجل أن يتم تحويل الرقم الذي سوف يدخله المستخدم إلى عدد صحيح قبل تخزينه في المتغير, لو لم نفعل هذا الأمر لتم إعتبار الأرقام التي قام بإدخالها المستخدم عبارة عن نصوص و سوف يسبب خطأ منطقي.
لنأخذ مثال بكتابة سكربت بسيط,سأكتبه في برنامج pycharm.
name = input ("your name is?") age = int (input("your age is?")) print("your name is {0} and your age is {1}".format (name,age))
في هذا السكربت إستخدمنا دالة format تكلمنا عنها سابقاً.
your name is ?ahmed your age is ?26 your named is ahmed and your age is 26
نُلاحظ عند تشغيل البرنامج سألني أول سؤال و كتبت لهُ إسم ahmed و بعدها ضغطت على إنتر. سألني السؤال الثاني مباشرتاً و كتبت لهُ العمر 26 الذي طلبه مني. و عندما ضغطت Enter مرة أخرى اظهَرَ لنا سطر البرنامج كاملاً مليئ بالمُدخلات الذي طلبها مني.