الرؤية عبر print، والتوضيح عبر التعليقات
كيف تطبع دالة print عدة قيم معاً، وكيف يغيرها sep و end، ولماذا توجد التعليقات — أداتك الأولى لاستكشاف ما يجري داخل البرنامج.
- 1المشكلة
- 2الفهم
- 3أمثلة محلولة
- 4التوقع
- 5التطبيق
- 6التحدي
المشكلة التي نقوم بحلها
كتبت برنامجاً وقمت بتشغيله. لكن الطرفية لم تظهر أي شيء وظلت صامتة.
هل نجح البرنامج؟ هل توقف في المنتصف؟ ما هي النتيجة التي وصل إليها داخلياً؟ لا توجد طريقة لمعرفة ذلك بمجرد النظر، لأن الحاسوب لا يعرض شيئاً من تلقاء نفسه — كل ما ترغب في رؤيته، يجب أن تطلبه بصراحة.
دالة print هي وسيلتك للطلب. في البداية هي نافذتك الوحيدة على ما يجري: أين وصل البرنامج، وما هي القيم التي تحملها المتغيرات، وما الذي أنتجته العمليات الحسابية. حتى المطورون المحترفون يستخدمون print مرات عديدة يومياً للتأكد من تدفق البيانات أثناء البرمجة.
بنهاية هذه المهمة ستكون قادراً على
- طباعة عدة قيم في استدعاء واحد والتحكم في المسافات بينها
- تخصيص شكل المخرجات باستخدام وسيطي
sepوend - التمييز بين النصوص والأرقام — ولماذا ناتج
"2" + "3"يختلف عن2 + 3 - كتابة التعليقات (Comments) ومعرفة متى يكون التعليق مفيداً ومجدياً
المتطلبات المسبقة: الطرفية، المجلدات، ومشروعك الأول.
دالة print تقبل أكثر من قيمة
افصل بين القيم بفواصل (commas)، وستقوم print بكتابتها جميعاً في سطر واحد:
print("Order", 7, "confirmed")Order 7 confirmedلاحظ أنك لم تكتب مسافة بين الكلمات، ومع ذلك ظهرت المسافات تلقائياً. تضع دالة print مسافة واحدة افتراضية بين كل قيمتين مفصولتين بفاصلة.
وفي نهاية كل استدعاء، تنتقل تلقائياً إلى سطر جديد:
print("line one")
print("line two")line one
line twoواستدعاء print() بدون أي وسائط يطبع سطراً فارغاً — وهي أسهل طريقة لتقسيم المخرجات الطويلة.
الوسيط sep — الفاصل المخصص بين القيم
إذا كنت لا تريد المسافة الافتراضية، يمكنك تغييرها:
print("2026", "09", "10", sep="-")
print("home", "user", "notes.txt", sep="/")
print("a", "b", "c", sep="")2026-09-10
home/user/notes.txt
abcالوسيط end — ماذا يحدث في نهاية السطر
افتراضياً تُنهي print السطر بالانتقال للسطر التالي. يمكنك تعديل ذلك عبر end:
print("Loading", end="")
print(".", end="")
print(".", end="")
print(". done")Loading... doneمثال تطبيقي متكامل
# Report generator
print("=" * 24)
print("SALES REPORT")
print("=" * 24)
print("Items sold:", 3 + 5 + 2)
print("Revenue:", 3 * 120 + 5 * 90 + 2 * 250)
print()
print("Prepared by", "Rafi", sep=": ")========================
SALES REPORT
========================
Items sold: 10
Revenue: 1310
Prepared by: Rafiلاحظ التعبير "=" * 24. ضرب النص في رقم يجعل بايثون يكرره بعدد مرات ذلك الرقم، دون الحاجة لكتابة علامة التساوي 24 مرة يدوياً.
الأخطاء الشائعة وحلولها
خطأ SyntaxError: unterminated string literal تم فتح علامة تنصيص ولم يتم إغلاقها بشكل سليم. مثل print("Hello).
الحاجة لكتابة علامة تنصيص داخل النص استخدم نوعاً في الخارج ونوعاً آخر في الداخل: print("It's working") أو print('She said "yes"').
تمرير قيمة لـ sep أو end بدون علامات تنصيص السطر print("a", "b", sep=-) لن يعمل لأن sep تتوقع نصاً: sep="-".
Step 4 of 6 — Predict
Check your understanding
What exactly appears in the terminal when these three lines run?
print("a", "b", "c", sep="-")
print("x", end=" ")
print("y")- Aa-b-c x y
- Ba-b-c x y
- Cabc x y
- Da-b-c x y
Both lines use +. What is the output?
print(2 + 3)
print("2" + "3")- A5 23
- B5 5
- C23 23
- D5, then an error — `+` cannot be used with text
What does this program print, and why?
price = 250
# price = 400
print("Price:", price)- A`Price: 250` — the second line is a comment, so Python never reads it
- B`Price: 400` — the later value wins
- C`Price: 250` then `Price: 400` — both lines run
- DAn error — the same variable cannot be assigned twice
Answering needs an account
Sign in to check your answers
The questions are above, and working them out in your head is the part that matters. Sign in to see the answers, the explanations and the three-level hints.
دورك الآن
اكتب ملفاً باسم profile.py يُخرج النتائج التالية بدقة:
------------------------
NAME : Rafi
ROLE : Python learner
------------------------
Age next year: 23وفق الشروط التالية:
- يجب إنشاء الخطين العلوي والسفلي بواسطة ضرب النصوص وليس بكتابة 24 شرطة يدوياً
- يجب استخدام الوسيط
sepفي سطري الاسم والمسمى الوظيفي - في سطر العمر القادم، احسب الرقم عبر عملية جمع (مثل
22 + 1) ولا تكتبه يدوياً
There is more in this mission
What you read above is the complete mission — nothing was cut out of it. Pro adds:
- ما يحدث فعلياً في الكواليس — كيف ينفذ بايثون هذا الكود
- الحل الكامل للتمرين مشروحاً خطوة بخطوة
- تمارين إضافية أكثر صعوبة وتحدياً
- أسئلة المقابلات الوظيفية حول هذا الموضوع مع نموذج الإجابة
Step 6 of 6
التحدي — the chapter quiz
عشرة أسئلة متدرجة من السهل إلى الصعب. الأسئلة الأخيرة صعبة عن قصد.
Sign in to take the quiz