إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    بايثون إدخال بيانات من المستخدم

    مقدمة

    في الدروس السابقة, كنا نكتب الكود ثم نقوم بتجربته فيتنفذ كما هو, بمعنى أننا كنا أصلاً نعرف ما سيظهر عند تشغيل الكود لأننا كنا نقوم بتحديد قيم المتغيرات قبل تشغيل البرنامج.

    في هذا الدرس ستتعلم كيف تنشئ برنامح يتفاعل مع المستخدم, حيث أنك عندما تقوم بتشغيله سيطلب من المستخدم إدخال بيانات, و بعد إدخالها سيقوم البرنامج بمعالجتها و فعل شيء معين بها.

    الدالة input()

    لجعل المستخدم قادر على إدخال بيانات في البرنامج أثناء اشتغاله نستخدم دالة جاهزة إسمها input().

    في كل مرة تقوم فيها باستدعاء هذه الدالة يقوم مفسّر لغة بايثون بانتظارك لإدخال ما تريد من لوحة المفاتيح ( Keyboard ).
    بعد الإنتهاء من الإدخال و النقر على الزر Enter سيتم إرجاع الشيء الذي قمت بإدخاله كنص في المكان الذي تم منه إستدعاء الدالة input().


    معلومة تقنية

    عند استدعاء الدالة input() فإنك حتى لو قمت بإدخال رقم فإنها سترجعه كنص.
    لذلك في حال كنت تريد من المستخدم أن يدخل رقم, سيكون عليك تحويل ما ترجعه الدالة لرقم.

    أمثلة على إدخال البيانات من المستخدم


    في المثال التالي قمنا بإنشاء برنامج يطلب من المستخدم إدخال إسمه, ثم يعرضه له.

    المثال الأول

    Test.py
    # name هنا قمنا بإظهار رسالة تطلب من المستخدم أن يدخل إسمه. الإسم الذي سيدخله سيتم تخزينه في المتغير
    name = input("What's your name? ")
    
    # name هنا قمنا بعرض جملة ترحيب مبنية على إسم المستخدم الذي قمنا بتخزينه قبل قليل في المتغير
    print("Nice to meet you", name)
    		

    سنحصل على النتيجة التالية عند تشغيل الملف Test مع الإشارة إلى أننا قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.

    What's your name? mhamad
    Nice to meet you mhamad


    في المثال التالي قمنا بإنشاء برنامج يطلب من المستخدم إدخال عددين صحيحين, ثم يعرضه له ناتج جمعهما.

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

    المثال الثاني

    Test.py
    # a بعدها سيتم تخزين العدد في المتغير .int إلى النوع str هنا قمنا بإظهار رسالة تطلب من المستخدم أن يدخل عدد. العدد الذي سيدخله سيتم تحويله من النوع
    a = int(input("Enter a: "))
    
    # b بعدها سيتم تخزين العدد في المتغير .int إلى النوع str هنا قمنا بإظهار رسالة تطلب من المستخدم أن يدخل عدد. العدد الذي سيدخله سيتم تحويله من النوع
    b = int(input("Enter b: "))
    
    # هنا قمنا بعرض ناتج جمع العددين اللذين تم إدخالهما
    print('a + b =', a + b)
    		

    سنحصل على النتيجة التالية عند تشغيل الملف Test مع الإشارة إلى أننا قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.

    Enter a: 5
    Enter b: 7
    a + b = 12


    في المثال التالي قمنا بإنشاء برنامج يطلب من المستخدم إدخال عدد يمثل عدد عناصر مصفوفة, ثم يطلب منه إدخال قيمة لكل عنصر في المصفوفة.
    في الأخير يعرض له البرنامج كل قيمة قام بإدخالها فيها على سطر واحد.

    المثال الثالث

    Test.py
    # n بعدها سيتم تخزين العدد في المتغير .int إلى النوع str العدد الذي سيدخله سيتم تحويله من النوع .aهنا قمنا بإظهار رسالة تطلب من المستخدم أن يدخل عدد عناصر الكائن
    n = int(input("Enter the length of the: "))
    
    # عدد عناصره يساوي العدد الذي أدخله المستخدم, و القيمة الأولية لكل عنصر فيه هي 0 aإسمه هنا قمنا بإنشاء
    a= [0] * n
    
    # واحداً i و طبعاً, في بداية كل دورة في هذه الحلقة ستزيد قيمة المتغير .aتبدأ من 0 إلى عنصر في الكائن for هنا قمنا بإنشاء حلقة
    for i in range(len(aList)):
    	# بعدها سيتم وضعها في العنصر .int إلى النوع str في كل دورة سيطلب من المستخدم إدخال قيمة لعنصر جديد. بعدها سيتم تحويل نوع القيمة التي يدخلها من النوع
        aList[i] = int(input('Enter aList[' + str(i) + ']: '))
    
    print('acontain the following values:')
    
    # val و تخزنه في الكائن aهنا قمنا بإنشاء حلقة تجلب في كل دورة قيمة عنصر من عناصر الكائن
    for val in aList:
    	# تضيف مسافة فارغة بعد عرض القيمة بدلاً من النزول على سطر جديد print() مع جعل الدالة val هنا قمنا بطباعة القيمة المخزنة في المتغير
        print(val, end=' ')
    		

    سنحصل على النتيجة التالية عند تشغيل الملف Test مع الإشارة إلى أننا قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.

    Enter the length of the: 5
    Enter aList[0]: 10
    Enter aList[1]: 20
    Enter aList[2]: 30
    Enter aList[3]: 40
    Enter aList[4]: 50
    The contain the following values:
    10 20 30 40 50
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب