☰ Year plan · Communication Technology (Arabic)

السلاسل النصية في بايثون

Week 6 · Unit 1, Lesson 3 Strings and Lists in Python (1) · 3 lessons
2

الفهرس: العد من الصفر ومن النهاية

ICT Prep 3 Term 1, Unit 1, Lesson 3: pp. 32–34
الهدفأجد حرفًا بفهرسه، بالعد من الصفر ومن النهاية، وأتعرف على خطأ ⁦IndexError⁩.
كلمات جديدة
الفهرس (⁦index⁩) · رقم موضع الحرف في السلسلةالفهرس السالب · موضع يُعد من النهاية: ⁦-1⁩ هو الحرف الأخير⁦IndexError⁩ · الخطأ الذي يظهر حين يكون الفهرس خارج السلسلةالقوسان المربعان · علامتان [ ] بعد الاسم تحملان الفهرس
الشرح

لكل حرف في السلسلة رقم موضع يسمى الفهرس، وتبدأ بايثون العد من الصفر. في ⁦text = "school"⁩ الحرف الأول ⁦text[0]⁩ هو ⁦s⁩، و⁦text[3]⁩ هو ⁦o⁩، والأخير ⁦text[5]⁩ هو ⁦l⁩. وتعد بايثون أيضًا من النهاية بأعداد سالبة: ⁦text[-1]⁩ هو الحرف الأخير ⁦l⁩، و⁦text[-6]⁩ هو الأول ⁦s⁩. أي أن العد السالب يبدأ من ⁦-1⁩ عند الحرف الأخير ولا يبدأ من الصفر. ويعرض الجدول صفّي الأرقام تحت الحروف. وإذا طلبت موضعًا غير موجود مثل ⁦text[6]⁩ في سلسلة طولها ⁦6⁩ توقفت بايثون بخطأ ⁦IndexError⁩، ومعناه أن الفهرس خارج النطاق. وآخر فهرس صالح هو دائمًا الطول ناقص واحد.

ABCDEF
1school
2012345
3−6−5−4−3−2−1
أمثلة محلولة
Python
1text = "school"
2print(text[0])
3print(text[3])
4print(text[-1])
5print(text[-6])
Output
s
o
l
s
تطلب سلمى أربعة حروف من ⁦school⁩. الأرقام داخل القوسين تحدد أي حرف يظهر.
Python
1text = "school"
2print(text[6])
Output
IndexError: the index is out of range
طول السلسلة ⁦school⁩ هو ⁦6⁩ فالفهارس الصالحة من ⁦0⁩ إلى ⁦5⁩. وطلب ⁦text[6]⁩ خارج النطاق، فتتوقف بايثون وتعرض ⁦IndexError⁩.
نشاط الفصل

خذ السلسلة ⁦"garden"⁩. ارسم الجدول بالحروف والأعداد من ⁦0⁩ والأعداد من ⁦-6⁩. أي حرف هو ⁦text[2]⁩؟ وأي حرف هو ⁦text[-2]⁩؟ وأي فهرس يسبب ⁦IndexError⁩؟

تدرّب
1
في ⁦"school"⁩ أي حرف هو ⁦text[0]⁩؟
2
أي فهرس يعطي الحرف الأخير في أي سلسلة؟
3
طول سلسلة ⁦10⁩. ما آخر فهرس موجب صالح فيها؟
4
أي خطأ يظهر في ⁦text[6]⁩ حين تكون ⁦text = "school"⁩؟