الإدخال/الإخراج

1.2 الإدخال/الإخراج

أهداف التعلم

في نهاية هذا القسم، ينبغي أن تكون قادرًا على

  • عرض الإخراج باستخدام الدالّة print().
  • الحصول على إدخال المستخدم باستخدام الدالّة input().

الإخراج الأساسي

الدالّة print() تعرض الإخراج للمستخدم. الإخراج (Output) هو المعلومات أو النتيجة التي ينتجها برنامج. يمكن استخدام الخيارين sep و end لتخصيص الإخراج. الجدول 1.1 يعرض أمثلةً على sep و end.

يمكن طباعة عدة قيم في التعليمة نفسها، يُفصَل بينها بفواصل. وبشكل افتراضي، تُفصَل كل قيمة عن الأخرى بمسافة في المُخرَجات. يمكن استخدام الخيار sep لتغيير هذا السلوك.

افتراضيًا، تضيف الدالّة print() حرف سطر جديد في نهاية الإخراج. حرف السطر الجديد (newline) يُوجِّه الشاشةَ للانتقال إلى السطر التالي. يمكن استخدام الخيار end لمتابعة الطباعة على السطر نفسه.

الشِفرة الإخراج

print("Today is Monday.")
print("I like string beans.")

Today is Monday.
I like string beans.

print("Today", "is", "Monday")
print("Today", "is", "Monday", sep="...")

Today is Monday
Today...is...Monday

print("Today is Monday, ", end="")
print("I like string beans.")

Today is Monday, I like string beans.

print("Today", "is", "Monday", sep="? ", end="!!")
print("I like string beans.")

Today? is? Monday!!I like string beans.

الجدول 1.1 أمثلة على استخدامات
print()
.

نقطة تحقق

عرض الإخراج للمستخدم

مفاهيم تطبيقية

الدالّة print()

1.
أي سطر من الشِفرة يطبع Hello world! كسطر إخراج واحد؟
  1. print(Hello world!)
  2. print("Hello", "world", "!")
  3. print("Hello world!")
2.
أي أسطر الشِفرة يطبع Hello world! كسطر إخراج واحد؟
  1. print("Hello")
    print(" world!")
    
  2. print("Hello")
    print(" world!", end="")
    
  3. print("Hello", end="")
    print(" world!")
    
3.
ما هو الإخراج الذي تنتجه التعليمة التالية؟
print("555", "0123", sep="-")
  1. 555 0123
  2. 5550123-
  3. 555-0123

هل المسافات مهمة حقًا؟

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

الإدخال الأساسي

غالبًا ما تتلقى برامج الحاسوب إدخالًا من المستخدم. الإدخال (Input) هو ما يُدخِله المستخدم إلى البرنامج. تعليمة إدخال، variable = input("prompt")، تتكون من ثلاثة أجزاء:

  1. المُتغيِّر (variable) يشير إلى قيمة مخزنة في الذاكرة. في التعليمة أعلاه، يمكن استبدال variable بأي اسم يختاره المبرمج.
  2. الدالّة input() تقرأ سطرًا واحدًا من الإدخال من المستخدم. الدالّة هي كتلة من الشِفرة، مُسمّاة وقابلة لإعادة الاستخدام، تؤدي مهمةً معيّنةً عند استدعائها. يُخزَّن الإدخال في ذاكرة الحاسوب، ويمكن الوصول إليه لاحقًا من خلال المُتغيِّر.
  3. المِحَث (prompt) هو رسالة قصيرة تُنبِّه المستخدم إلى أن البرنامج ينتظر إدخالًا. في التعليمة أعلاه، يمكن حذف "prompt" أو استبداله بأي رسالة.

نقطة تحقق

الحصول على إدخال من المستخدم

مفاهيم تطبيقية

الدالّة input()

4.
أي سطر من الشِفرة يحصل على إدخال المستخدم ويخزنه بشكل صحيح؟
  1. input()
  2. today_is = input
  3. today_is = input()
5.
شخص يدعى Sophia يدخل اسمه عندما يُطلب منه ذلك باستخدام
print("Please enter your name: ")
name = input()
ما الذي تعرضه print("You entered:", name)؟
  1. You entered: name
  2. You entered: Sophia
  3. You entered:, Sophia
6.
ما هو الإخراج إذا أدخل المستخدم "six" كمدخل؟
print("Please enter a number: ")
number = input()
print("Value =", number)
  1. Value = six
  2. Value = 6
  3. Value = number

جرّب بنفسك

قصيدة فروست

اكتب برنامجًا يستخدم تعليمات print() متعددة لإخراج القصيدة التالية لـ روبرت فروست. يجب أن تتوافق كل تعليمة print() مع سطر إخراج واحد.

نصيحة: لا حاجة لكتابة البرنامج بأكمله دفعة واحدة. حاول كتابة تعليمة print() الأولى، ثم انقر على زر التشغيل (Run). ثم اكتب تعليمة print() التالية، وانقر على زر التشغيل مرة أخرى. واصِل كتابة الشِفرة واختبارها تدريجيًا حتى تُنهي البرنامج.

    I shall be telling this with a sigh
    Somewhere ages and ages hence:
    Two roads diverged in a wood, and I--
    I took the one less traveled by,
    And that has made all the difference.

جرّب بنفسك

الاسم والاهتمامات

اكتب برنامجًا يطرح السؤالين التاليين (الإدخال النموذجي بالخط العريض):

    What is your name? Shakira
    What do you like? singing

اطبع سطرًا فارغًا بعد قراءة الإدخال. ثم أخرج الرسالة التالية بناءً على الإدخال:

    Shakira likes singing