كيفية استخدام دالة input() لجمع بيانات من المستخدم في Python

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 20 سبتمبر 2024

محتوى المقال

كيفية استخدام دالة input() لجمع بيانات من المستخدم في Python

عند برمجة التطبيقات التفاعلية في Python، غالبًا ما تحتاج إلى جمع البيانات من المستخدمين. دالة input() توفر وسيلة سهلة وفعالة لجمع البيانات المدخلة من المستخدمين عبر واجهة النصوص (console). في هذا المقال، سنستعرض كيفية استخدام input() لجمع بيانات من المستخدم مع تقديم أمثلة عملية توضح كيفية التعامل مع أنواع مختلفة من المدخلات.

ما هي دالة input()؟

دالة input() هي دالة مدمجة في Python تُستخدم لجمع البيانات المدخلة من المستخدم عبر واجهة النصوص. تقوم الدالة بإيقاف تنفيذ البرنامج مؤقتًا وتنتظر إدخال المستخدم حتى يقوم بالضغط على زر "Enter". بعد ذلك، تُعيد الدالة البيانات المدخلة كنص (string).

الصيغة العامة للدالة هي:

input(prompt)

حيث prompt هو نص اختياري يُعرض للمستخدم قبل الإدخال (على سبيل المثال، رسالة ترحيب أو طلب للمستخدم بإدخال بيانات معينة).

جمع النصوص باستخدام input()

عند استخدام input()، يتم جمع البيانات المدخلة دائمًا كنص، حتى إذا قام المستخدم بإدخال أرقام. إليك مثالًا بسيطًا لجمع نص من المستخدم.

مثال 1: جمع نص بسيط

لنقم بجمع اسم المستخدم باستخدام input():

name = input("ما هو اسمك؟ ")
print("مرحبًا، " + name + "!")
# عند تشغيل الكود: ما هو اسمك؟ أحمد
# الناتج: مرحبًا، أحمد!

في هذا المثال، تقوم دالة input() بجمع اسم المستخدم وتخزينه في متغير name. بعد ذلك، يتم عرض رسالة ترحيب باستخدام الاسم الذي أدخله المستخدم.

جمع الأرقام باستخدام input()

كما ذكرنا سابقًا، تقوم input() بإرجاع المدخلات كنصوص. إذا كنت ترغب في جمع أرقام من المستخدم، يجب عليك تحويل المدخلات النصية إلى أرقام باستخدام دوال مثل int() أو float(). دعونا نرى كيف يمكننا القيام بذلك.

مثال 2: جمع أرقام صحيحة

لنقم بجمع عمر المستخدم وتحويله إلى عدد صحيح:

age = int(input("كم عمرك؟ "))
print("عمرك هو " + str(age) + " عامًا.")
# عند تشغيل الكود: كم عمرك؟ 25
# الناتج: عمرك هو 25 عامًا.

في هذا المثال، قمنا بجمع المدخلات من المستخدم باستخدام input() ثم حولناها إلى عدد صحيح باستخدام int(). لاحظ أننا استخدمنا str() عند دمج الرقم مع النص.

مثال 3: جمع أرقام عشرية

إذا كنت ترغب في جمع أرقام عشرية من المستخدم، يمكنك استخدام دالة float() لتحويل المدخلات إلى أرقام عشرية:

salary = float(input("ما هو دخلك الشهري؟ "))
print("دخلك الشهري هو " + str(salary) + " ريال.")
# عند تشغيل الكود: ما هو دخلك الشهري؟ 4500.75
# الناتج: دخلك الشهري هو 4500.75 ريال.

في هذا المثال، قمنا بتحويل المدخلات إلى عدد عشري باستخدام float() قبل عرضها.

التحقق من صحة المدخلات

عند جمع البيانات من المستخدمين، قد يقومون بإدخال قيم غير متوقعة أو غير صالحة. يمكنك استخدام كتل try-except للتعامل مع الأخطاء الناتجة عن تحويل المدخلات غير الصحيحة.

مثال 4: التحقق من صحة المدخلات

لنقم بإنشاء برنامج يطلب من المستخدم إدخال رقم صحيح ويتحقق من صحة الإدخال:

try:
    age = int(input("أدخل عمرك: "))
    print("عمرك هو " + str(age))
except ValueError:
    print("من فضلك أدخل رقمًا صحيحًا!")

في هذا المثال، إذا قام المستخدم بإدخال قيمة غير رقمية، سيتم عرض رسالة خطأ بدلاً من توقف البرنامج.

جمع أكثر من مدخل من المستخدم

يمكنك استخدام دالة input() لجمع أكثر من مدخل من المستخدم في نفس البرنامج. دعونا نرى مثالاً يجمع اسم المستخدم وعمره.

مثال 5: جمع أكثر من مدخل

لنقم بإنشاء برنامج يطلب من المستخدم إدخال اسمه وعمره:

name = input("ما هو اسمك؟ ")
age = int(input("كم عمرك؟ "))
print("مرحبًا، " + name + "! عمرك هو " + str(age) + " عامًا.")
# عند تشغيل الكود: ما هو اسمك؟ أحمد
# كم عمرك؟ 30
# الناتج: مرحبًا، أحمد! عمرك هو 30 عامًا.

في هذا المثال، قمنا بجمع اسم المستخدم وعمره وعرض رسالة ترحيب تجمع بينهما.

إضافة توجيهات للمستخدم

من الأفضل دائمًا تقديم توجيهات واضحة للمستخدم عند طلب المدخلات. يمكنك تخصيص رسالة input() لتوفير معلومات واضحة للمستخدم حول ما يُطلب منه.

مثال 6: إضافة توجيهات للمستخدم

لنقم بتحسين تجربة المستخدم عن طريق إضافة توجيهات توضيحية:

height = float(input("أدخل طولك بالأمتار (مثال: 1.75): "))
print("طولك هو " + str(height) + " متر.")
# عند تشغيل الكود: أدخل طولك بالأمتار (مثال: 1.75): 1.80
# الناتج: طولك هو 1.8 متر.

في هذا المثال، قمنا بتوجيه المستخدم لإدخال طول معين بالأمتار، مما يساعد على تجنب الإدخال غير الصحيح.

الخلاصة

دالة input() في Python هي أداة قوية لجمع البيانات المدخلة من المستخدمين. سواء كنت تحتاج إلى جمع نصوص، أرقام صحيحة، أو أرقام عشرية، يمكنك استخدام input() مع دوال التحويل المناسبة مثل int() وfloat(). من المهم أيضًا التعامل مع الأخطاء والتحقق من صحة المدخلات لتجنب تعطل البرنامج بسبب الإدخالات غير الصالحة.

طور مهاراتك: مقالات يجب قراءتها في البرمجة