دمج الرقم والسلسلة
افترض أننا نريد دمج رقم وسلسلة بجانب بعضهما. بما أن الرقم يمكن أن يتواجد داخل السلسلة، فإن إحدى الحلول هي:
لكن ربما نريد أن نلزق الرقم والسلسلة معًا ونطبعها. في العمليات السلسلية، كان الجمع بين سلسلتين معًا مسموحًا، وكان يلزقهما معًا. هل تعتقد أن جمع رقم وسلسلة يلزقهما أيضًا؟
في بايثون، يمكنك جمع البيانات المتشابهة فقط. يعني يمكنك جمع السلاسل مع السلاسل والأرقام مع الأرقام. بالطبع، الجمع في السلسلة يعني الالتصاق، وفي الأرقام يعني جمع القيم. جمع عدد مع سلسلة ليس ممكنًا، وإذا قمت بذلك ستحصل على خطأ نحوي.
لكن هناك حل بسيط لهذه المشكلة، وهو استخدام الفاصلة. إذا وضعت فاصلة بين سلسلة وعدد، فسيتم طباعة كلاهما جنبًا إلى جنب على سطر واحد مع مسافة (space) بينهما. نفذ المثال التالي.
لنذهب لنرى بعض الأمثلة. ما رأيك في نتيجة هذا الكود؟ مثلما هو الحال دائمًا، فكّر في الأمر قبل تنفيذ الكود.
كما قلنا، جمع سلسلتين يربطهما معًا، ولا يهم إذا كانت السلسلة تحتوي على أرقام أو نص! حسنًا، ما رأيك في الكود التالي؟
هذا الخرج يُظهر عدد الصفحات المفتوحة في المتصفح: 99 tabs are open
أي من الأوامر التالية لا يمكن أن تنتج هذا الخرج وتُسبب خطأ؟
- الخيار الأول صحيح لأن سطرين يمكن أن يجمعا معًا.
- الخيار الثاني خاطئ لأن سطرًا ورقمًا لا يمكن أن يجتمعا معًا.
- الخيار الثالث صحيح لأن يمكن ربط سطر ورقم بفواصل.
- الخيار الرابع صحيح لأن السطر عادي وأي شيء موجود في السطر يُطبع كما هو.
في هذا القسم رأينا كيف يمكننا وضع الأرقام والسلاسل جنبًا إلى جنب. فهمنا أن ذلك يتم بمساعدة عامل الفصل وليس عامل الجمع!