القراءة من المستخدم: input
نجعل البرنامج يسأل المستخدم ويستخدم إجابته. ⏱ نحو 15 دقيقة.
- تقرأ قيمة من المستخدم بـ
input. - تعرف أن
inputيعيد نصًّا دائمًا. - تحوّل المدخلات إلى أعداد بـ
intوfloat. - تكتب برنامجًا كاملًا: مدخلات ومعالجة ومخرجات.
١البرنامج يسأل والمستخدم يجيب
حتى الآن كتبنا القيم داخل الكود. لكن البرنامج المفيد يسأل المستخدم، مثل موظف الاستقبال الذي يسألك عن اسمك. الأمر input يعرض سؤالًا، وينتظر المستخدم حتى يكتب ويضغط Enter:
name = input("ما اسمك؟ ")print("أهلًا", name)
ما كتبه المستخدم (باللون الأزرق) يُحفظ في المتغيّر name. وعند الضغط على «▶ شغّل هنا» اكتب قيمتك في خانة «المدخلات».
٢input يعطيك نصًّا دائمًا
حتى لو كتب المستخدم رقمًا، يصل إلى البرنامج نصًّا. فإذا حاولنا الحساب به ظهر خطأ:
age = input("كم عمرك؟ ")print(age + 1)
٣الحل: حوّل ما قرأته
نضع input داخل int() للأعداد الصحيحة، أو داخل float() للأعداد العشرية:
age = int(input("كم عمرك؟ "))print("بعد سنة سيكون عمرك", age + 1)
price = float(input("السعر: "))print("السعر مع الضريبة:", price * 1.15)
٤برنامج كامل
تذكّر الدرس الأول: مدخلات، ثم معالجة، ثم مخرجات. هذا برنامج يجمع عددين يكتبهما المستخدم:
# المدخلاتa = int(input("العدد الأول: "))b = int(input("العدد الثاني: "))# المعالجةtotal = a + b# المخرجاتprint("المجموع:", total)
📎 للاستزادة (اختياري): لماذا نضع مسافة في آخر السؤال؟
المسافة في "ما اسمك؟ " تفصل السؤال عن إجابة المستخدم، فلا تلتصق الكلمات.
توقّع وتحقّق
ماذا يفعل input("اسمك: ")؟
input يسأل وينتظر.ما نوع ما يعيده input دائمًا؟
أي سطر يقرأ عددًا صحيحًا من المستخدم بشكل صحيح؟
input داخل int.المستخدم كتب 4 ثم 6 لبرنامج المجموع. ماذا يطبع؟
int فجُمعتا.الخلاصة
input("سؤال")يعرض السؤال ويحفظ إجابة المستخدم.- ما يعيده
inputنص دائمًا. int(input(...))لقراءة عدد صحيح، وfloat(input(...))لعدد عشري.- البرنامج الكامل: نقرأ، ثم نحسب، ثم نطبع.
تحدٍّ برمجي: مساحة من المستخدم
سهلاكتب برنامجًا يقرأ طول المستطيل وعرضه من المستخدم، ثم يطبع المساحة.
- اقرأ الطول بـ
int(input(...)). - اقرأ العرض بالطريقة نفسها.
- اطبع: المساحة: ثم الناتج.
ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:
length = int(input("الطول: "))💡 تلميح 1
💡 تلميح 2
length * width.حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.
length = int(input("الطول: "))width = int(input("العرض: "))print("المساحة:", length * width)