الثانوية العامة 2026الاستعلام عن النتيجةاعرف الكليات المناسبة لمجموعكتنسيق 2026

الحاسب الآلي · الصف الثالث الإعدادي · الترم الأول

السلاسل النصية (Strings) والقوائم (Lists) في لغة Python

التعامل مع السلاسل النصية في Python: الفهرسة والتقطيع والدمج والدوال النصية، والقوائم: إنشاؤها والوصول لعناصرها وتعديلها وإضافة العناصر وحذفها والمرور عليها بحلقة for.

آخر تحديث: · كيف نراجع المحتوى

أهداف التعلم

  • أن تنشئ سلسلة نصية وتصل إلى حروفها بالفهرس.
  • أن تقطع جزءًا من سلسلة وتدمج السلاسل وتستخدم دوالًا نصية شائعة.
  • أن تنشئ قائمة وتصل إلى عناصرها وتعدلها.
  • أن تضيف عناصر إلى القائمة وتحذفها وتمر عليها بحلقة for.

شرح الدرس

السلاسل النصية

السلسلة النصية (String) تتابع من الحروف والرموز يُكتب بين علامتي تنصيص مفردتين أو مزدوجتين:

name = "Mariam"
city = 'Cairo'

الفهرسة: لكل حرف رقم (فهرس) يبدأ من 0، ويمكن العد من النهاية بالفهارس السالبة:

word = "Python"
print(word[0])    # P
print(word[3])    # h
print(word[-1])   # n
print(len(word))  # 6

حروف الكلمة Python مكتوبة في مربعات بفهارس من البداية 0 إلى 5 وفهارس من النهاية من −6 إلى −1، ويبين التقطيع word[0:3] الناتج Pyt وword[2:] الناتج thon

التقطيع (Slicing): word[start:end] يعيد الحروف من start حتى ما قبل end:

print(word[0:3])  # Pyt
print(word[2:])   # thon

الدمج والتكرار:

first = "Zaker"
last = "Masr"
print(first + " " + last)  # Zaker Masr
print("Ha" * 3)            # HaHaHa

دوال نصية شائعة:

الدالةوظيفتهامثالالناتج
upper()تحويل إلى حروف كبيرة"egypt".upper()EGYPT
lower()تحويل إلى حروف صغيرة"NILE".lower()nile
replace(a, b)استبدال نص بآخر"cat".replace("c", "h")hat
strip()حذف المسافات من الطرفين" hi ".strip()hi
split()تقسيم النص إلى قائمة كلمات"a b c".split()['a', 'b', 'c']

السلاسل النصية غير قابلة للتعديل: لا يمكن كتابة word[0] = "J"، بل ننشئ سلسلة جديدة.

القوائم

القائمة (List) مجموعة مرتبة من العناصر تُكتب بين قوسين مربعين، ويمكن أن تحتوي أنواعًا مختلفة:

grades = [85, 92, 78, 90]
fruits = ["apple", "banana", "mango"]

الوصول والتعديل: القوائم قابلة للتعديل:

print(fruits[1])      # banana
fruits[1] = "orange"
print(fruits)         # ['apple', 'orange', 'mango']

الإضافة والحذف:

fruits.append("grape")      # إضافة في النهاية
fruits.insert(0, "kiwi")    # إضافة في موضع محدد
fruits.remove("apple")      # حذف عنصر بقيمته
last = fruits.pop()         # حذف آخر عنصر وإرجاعه
print(len(fruits))

المرور على القائمة بحلقة for:

grades = [85, 92, 78, 90]
total = 0
for g in grades:
    total = total + g
print("Average:", total / len(grades))  # Average: 86.25

دوال مفيدة: len() للطول، وmax() وmin() لأكبر وأصغر عنصر، وsum() للمجموع، وsort() للترتيب.

أمثلة وتطبيقات

مثال: برنامج يطلب اسم المستخدم ويطبع ترحيبًا بحروف كبيرة وعدد حروف الاسم:

name = input("Enter your name: ").strip()
print("Welcome, " + name.upper())
print("Your name has", len(name), "letters")

مثال: إيجاد أعلى درجة في قائمة وموضعها:

grades = [70, 95, 88, 95, 60]
top = max(grades)
print(top, grades.index(top))  # 95 1

ملاحظات مهمة

  • الفهرس يبدأ من 0؛ آخر عنصر فهرسه len(x) - 1.
  • الوصول إلى فهرس غير موجود يسبب الخطأ IndexError.
  • remove() تحذف أول ظهور للقيمة فقط.
  • الرقم داخل علامتي تنصيص نص: "5" + "5" تعطي "55".

مثال متدرج: إذا كانت القائمة colors = ["أحمر", "أخضر", "أزرق"] فإن colors[1] تعطي "أخضر" لأن العد يبدأ من الصفر. وبعد تنفيذ colors.append("أبيض") يصبح طول القائمة أربعة عناصر. أما السلسلة النصية فلا نغيّر حرفًا داخلها مباشرة؛ بل ننشئ سلسلة جديدة من الأجزاء المطلوبة.

خطأ شائع: الخلط بين رقم العنصر وعدد العناصر. في قائمة طولها ثلاثة يكون آخر فهرس هو 2، ومحاولة قراءة colors[3] تؤدي إلى خطأ تجاوز حدود القائمة.

المفاهيم الأساسية

  • السلسلة النصية تتابع حروف غير قابل للتعديل، والقائمة مجموعة مرتبة قابلة للتعديل.
  • الفهرسة تبدأ من 0، والفهارس السالبة تعد من النهاية.
  • التقطيع x[start:end] لا يشمل end.
  • append وinsert للإضافة، وremove وpop للحذف.

ملخص الدرس

السلاسل النصية في Python تخزن النصوص، ونصل إلى حروفها بالفهرس ونقطعها وندمجها ونعالجها بدوال مثل upper وreplace وsplit. والقوائم تخزن مجموعات مرتبة من القيم يمكن تعديلها وإضافة عناصر إليها وحذفها، ونمر عليها بحلقة for لمعالجة كل عنصر.

أسئلة للتدريب

  1. ما ناتج "Computer"[3:6]؟
  2. اكتب برنامجًا يطبع الحرف الأول والأخير من كلمة يدخلها المستخدم.
  3. أنشئ قائمة بأسماء خمس محافظات، ثم أضف محافظة سادسة واحذف الثانية واطبع القائمة.
  4. اكتب برنامجًا يحسب عدد الدرجات الأكبر من أو تساوي 5050 في قائمة درجات.
  5. لماذا يسبب الأمر name[0] = "A" خطأً إذا كانت name سلسلة نصية؟
حلّ أسئلة هذا الدرساختبر فهمك بأسئلة اختيار من متعدد وأسئلة مقالية مع نموذج إجابة، أو خض اختبارًا تفاعليًا سريعًا
أبلغ عن خطأ في هذا الدرس