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، ومعناه أن الفهرس خارج النطاق. وآخر فهرس صالح هو دائمًا الطول ناقص واحد.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | s | c | h | o | o | l |
| 2 | 0 | 1 | 2 | 3 | 4 | 5 |
| 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
Python
1text = "school" 2print(text[6])
Output
IndexError: the index is out of range
نشاط الفصل
خذ السلسلة "garden". ارسم الجدول بالحروف والأعداد من 0 والأعداد من -6. أي حرف هو text[2]؟ وأي حرف هو text[-2]؟ وأي فهرس يسبب IndexError؟
تدرّب
1
في "school" أي حرف هو text[0]؟
الحرف s.
2
أي فهرس يعطي الحرف الأخير في أي سلسلة؟
-1.
3
طول سلسلة 10. ما آخر فهرس موجب صالح فيها؟
9 وهو الطول ناقص واحد.
4
أي خطأ يظهر في text[6] حين تكون text = "school"؟
IndexError لأن الفهرس خارج النطاق.