بسم الله الرحمن الرحيم
اللهم علّمنا ما ينفعنا وانفعنا بما علّمتنا إنك أنت العليم الحكيم
اللهم علّمنا ما ينفعنا وانفعنا بما علّمتنا إنك أنت العليم الحكيم
سنتحدث في هذا الدرس عن جمل الإدخال والطباعة وكيفية استخدامها في البرامج.
تخيل معي أنك مبرمج وتريد عمل موقع يسمى shell حيث أنك تريد إظهار رسالة ترحيب للمستخدم ولتكن welcome to shell , لتتمكن من عمل ذلك عليك استخدام جملة الطباعة في برنامجك , وللحفاظ على أمان موقعك عليك جعل المستخدم يقوم بإدخال اسمه وكلمة المرور الخاصة به (user name ,password) وعمل ذلك يتطلب منك استخدام جملة الإدخال في برنامجك.
يمكننا التفريق بين جمل الطباعة وجمل الإدخال عن طريق بعض النقاط, منها ما يلي :
وجه المقارنة | جملة الإدخال | جملة الطباعة |
التعريف | هي عملية تبادل المعلومات بين برنامج الكمبيوتر والمستخدم أو بين أجزاء مختلفة من البرنامج نفسه. | هي عملية تبادل المعلومات بين برنامج الكمبيوتر والمبرمج. |
الاستخدام | تستخدم للحصول على البيانات من المستخدم عن طريق لوحة المفاتيح أو الفأرة | تستخدم لعرض البيانات للمستخدم عن طريق الشاشة. |
الأمر | ()input | ()print |
التخزين | يتم حفظ القيمة المدخلة كسلسلة داخل متغير | لا يلزم حفظ القيمة بداخل متغير |
تعلمنا سابقًا الهيكل العام لجملة الطباعة print وستنعلم في هذا الدرس عن كيفية كتابة جملة الإدخال.
في لغة بايثون نستخدم الدالة ()input لعمليات الإدخال، من الممكن إعطاء هذه الدالة معلومة؛ وهي النص الذي ستقوم بالطلب فيه من المستخدم إدخال ما يريده, وتقوم هذه الدالة بإرجاع ما قام المستخدم بإدخاله, لذا لابد من وضعها في متغير .
لو أردنا أن نطبق عملية إدخال الاسم وكلمة المرور الخاصة بك سنقوم بالتالي :
Python:
user_name = input("What is your username? ")
password = input("What is your password? ")
print(f"{user_name} \n {password}")
Python:
What is your username? RTH
What is your password? ShellNetwork2024
RTH
ShellNetwork2024
في هذا المثال عندما يقوم المُفسّر بتنفيذ السطر الأول سيظهر لك ?What is your username وينتظر منك أن تدخل اسمك, قمت بإدخال الاسم RTH والضغط على Enter , الآن سيظهر لك ?What is your password ويقوم البرنامج بانتظارك مجددًا لإدخال كلمة المرور , قمت بإدخال كلمة المرور ShellNetwork2024 وقمت بتخزين هذه القيم بداخل متغيرات كما هو موضح بالبرنامج وبناءًا عليها قام المُفسّر بتنفيذ جملة الطباعة.
في بعض الأحيان قد ترغب بكتابة أكثر من سطر وإظهاره للمستخدم , على سبيل المثال لو كنت تريد إخبار المستخدم عن أسباب طلبك لبعض المعلومات , يمكنك فعل ذلك باستخدام المتغيرات وتمرير هذا المتغير إلى الدالة input, كما في المثال التالي :
Python:
msg_input = "Please enter your name\nso you can enter the site and identify yourself : "
name = input(msg_input)
print(f"{name}")
Python:
Please enter your name
so you can enter the site and identify yourself : RTH
RTH
عند استخدام أمر الإدخال input يقوم المفسر بتفسير كل شيء يدخله المستخدم على أنه سلسلة حتى لو أدخلت عدد معين , فمثلًا لو أردت من المستخدم إدخال أعداد لتقوم بعمليات معينة على هذه الأعداد لن تتمكن بالطريقة العادية , لحل هذه المشكلة سنقوم باستخدام دالة ()int, هذه الدالة تقوم بتحويل ما بداخلها إلى قيمة عددية،لذا سنقوم بوضع أمر الإدخال بداخل هذه الدالة ومن ثم نقوم بالعمليات التي نريدها كما في المثال:
Python:
x = int(input("please insert the first number: "))
y = int(input("please insert the second number: "))
sum = x + y
print(f"The sum of the two numbers = {sum}")
Python:
please insert the first number: 6
please insert the second number: 9
The sum of the two numbers = 15
لنعود قليلًا إلى مثال إدخال اسم المستخدم وكلمة السر ،عند إدخالها سيقوم الموقع بمقارنتها مع الموجودة عنده في قاعدة البيانات حيث أنه لو تطابقت يتم الدخول إلى الموقع, لنفرض أن هذا الموقع حساس لحالة الحرف بمعنى أن A تختلف عن a بالنسبه إليه, وقام المستخدم بإدخال الاسم بطريقة غير مطابقة للموجودة في قاعدة البيانات كأن يقوم بإدخال حرف بحالة عكس حالته الأصلية أو أن يضع فراغات غير موجودة, هنا سيتم رفض الدخول إلى الموقع على الرغم من أن اسم المستخدم صحيح.
حل هذه المشاكل تعلمناه سابقًا في درس الدّوال في السلاسل باستخدام دالتين وهما الدالة capitalize لحل مشكلة حالة الحرف والدالة strip لحل مشكلة الفراغات
ولكن هل يمكننا استخدام دالتين على نفس السلسة ؟
بالطبع يمكننا ذلك وهذه العملية تسمى chain methods والتي تمكننا من استخدام أكثر من دالة على نفس السلسة ،لنرى المثال التالي :
Python:
user_name = input("What is your username? ")
password = input("What is your password? ")
print(f"{user_name} {password}")
user_name= user_name.capitalize().strip()
password= password.capitalize().strip()
print(f"{user_name} {password}")
Python:
What is your username? rTh
What is your password? sHEll2024
rTh sHEll2024
Rth Shell2024
اكتب برنامج تقوم بالطلب فيه من المستخدم إدخال بياناته الشخصية (الاسم , رقم الهاتف, مكان السكن, المستوى التعليمي) , قم بوضع هذه البيانات داخل متغيرات ثم قم بطباعتها على الشكل التالي :
:Name
:ID_Number
:Address
:Education degree
:ID_Number
:Address
:Education degree
هكذا نكون قد أنهينا موضوعنا بحمد الله وفضله
دمتم بحفظ الله ورعايته
دمتم بحفظ الله ورعايته