📝 ملخص الصفحة
📚 القوائم والدوال المدمجة
المفاهيم الأساسية
الدوال المدمجة: دوال مرتبطة بالقوائم ويمكنها تغيير البيانات الموجودة في الكائن.
خريطة المفاهيم
```markmap
هياكل البيانات
هياكل البيانات غير البسيطة (Non-primitive)
هياكل خطية (Linear)
#### تعريف القائمة
- صيغة: List_Name=[item1, item2,...,itemN]
- عناصر القائمة
- متغير يمثل اسم القائمة
#### فهرسة القوائم (List Indexing)
- الوصول للعناصر: اسم_القائمة[رقم_الفهرس]
- الفهرس يبدأ من الصفر (0)
##### الفهرسة الموجبة
- fruits[0] → العنصر الأول ("apple")
- fruits[2] → العنصر الثالث ("banana")
##### الفهرسة السالبة
- fruits[-1] → العنصر الأخير ("banana")
- fruits[-2] → العنصر الثاني قبل الأخير ("orange")
#### التكرار على القوائم
#### استخدام الدوال مع القوائم
##### دوال تعيد قيمة (لا تغير القائمة)
###### دالة len()
- مثال: `gradesItems=len(grades)`
###### دالة sum()
- مثال: `myGrades=sum(grades)`
###### دالة max()
- الوظيفة: تعرض أكبر عنصر في القائمة.
- مثال: `maxGrade=max(grades)`
###### دالة min()
- الوظيفة: تعرض أصغر عنصر في القائمة.
- مثال: `minGrade=min(grades)`
##### دوال تغير القائمة (دوال مدمجة)
###### listName.append(x)
- الوظيفة: تضيف العنصر x لنهاية القائمة.
###### listName.remove(x)
- الوظيفة: تزيل العنصر x من القائمة.
###### listName.count(x)
- الوظيفة: تحسب عدد مرات ظهور x داخل القائمة.
###### listName.sort()
- الوظيفة: ترتب عناصر القائمة.
###### listName.reverse()
- الوظيفة: ترتب عناصر القائمة عكسياً.
###### listName.clear()
- الوظيفة: تزيل كافة العناصر من القائمة.
هياكل غير خطية (Non-linear)
```
نقاط مهمة
- دوال مثل `append()` و `remove()` و `sort()` هي دوال مدمجة (Methods) مرتبطة بكائن القائمة وتقوم بتعديل محتواها مباشرة.
- لإنشاء قائمة من إدخال المستخدم:
1. أنشئ قائمة فارغة أولاً (مثال: `subjects=[]`).
2. استخدم حلقة تكرار مع دالة `append()` لإضافة المدخلات.
```python
grades=[89,88,98,95]
grades.append(100)
print(grades) # الناتج: [89, 88, 98, 95, 100]
```
📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
نوع: محتوى تعليمي
ترتبط الدوال المدمجة التي يمكن استخدامها مع القوائم.
نوع: محتوى تعليمي
نوع: محتوى تعليمي
ترتبط الدوال في بايثون بكائن محدد. يمكن للدالة تغيير البيانات الموجودة في الكائن.
نوع: محتوى تعليمي
دالة listName.append(x) عنصراً جديداً في نهاية القائمة.
مثال
نوع: محتوى تعليمي
grades=[89,88,98,95]
grades.append(100)
grades.append(73)
print(grades)
نوع: محتوى تعليمي
[89, 88, 98, 95, 100, 73]
نوع: محتوى تعليمي
يمكنك استخدام دالة ( append ( ) لإنشاء قائمة إدخال من المستخدم.
نوع: محتوى تعليمي
للقيام بذلك يتعين عليك أولاً إنشاء قائمة فارغة.
إنشاء قائمة فارغة.
نوع: محتوى تعليمي
subjects=[]
for i in range(3):
print("type the name of the subject",i)
subjects.append((input()))
print(subjects)
نوع: محتوى تعليمي
type the name of the subject 0
maths
type the name of the subject 1
physics
type the name of the subject 2
history
['maths', 'physics', 'history']
نوع: محتوى تعليمي
طباعة القائمة التي أنشأتها.
📄 النص الكامل للصفحة
ترتبط الدوال المدمجة التي يمكن استخدامها مع القوائم.
ترتبط الدوال في بايثون بكائن محدد. يمكن للدالة تغيير البيانات الموجودة في الكائن.
دالة listName.append(x) عنصراً جديداً في نهاية القائمة.
--- SECTION: مثال ---
grades=[89,88,98,95]
grades.append(100)
grades.append(73)
print(grades)
[89, 88, 98, 95, 100, 73]
يمكنك استخدام دالة ( append ( ) لإنشاء قائمة إدخال من المستخدم.
للقيام بذلك يتعين عليك أولاً إنشاء قائمة فارغة.
--- SECTION: إنشاء قائمة فارغة. ---
subjects=[]
for i in range(3):
print("type the name of the subject",i)
subjects.append((input()))
print(subjects)
type the name of the subject 0
maths
type the name of the subject 1
physics
type the name of the subject 2
history
['maths', 'physics', 'history']
طباعة القائمة التي أنشأتها.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 3 بطاقة لهذه الصفحة
ما هي وظيفة الدالة `append()` في بايثون عند استخدامها مع القوائم؟
- أ) حذف العنصر الأول من القائمة.
- ب) إضافة عنصر جديد في نهاية القائمة.
- ج) فرز عناصر القائمة تصاعدياً.
- د) دمج قائمتين معاً.
الإجابة الصحيحة: b
الإجابة: إضافة عنصر جديد في نهاية القائمة.
الشرح: 1. الدالة `append()` هي دالة مدمجة في بايثون مرتبطة بكائن القائمة (list).
2. وظيفتها الأساسية هي إضافة العنصر الممرر إليها كوسيط (parameter) إلى نهاية القائمة الحالية.
3. تقوم بتعديل القائمة الأصلية مباشرة ولا تُرجع قائمة جديدة.
تلميح: تتعلق هذه الدالة بتعديل محتوى القائمة الحالية.
التصنيف: تعريف | المستوى: سهل
ما الخطوة الأولى التي يجب القيام بها لإنشاء قائمة إدخال من المستخدم باستخدام دالة `append()`؟
- أ) تحديد عدد العناصر التي ستدخلها المستخدم.
- ب) إنشاء قائمة فارغة أولاً.
- ج) استدعاء دالة `input()` مباشرة.
- د) طباعة رسالة ترحيب للمستخدم.
الإجابة الصحيحة: b
الإجابة: إنشاء قائمة فارغة أولاً.
الشرح: 1. لإنشاء قائمة من مدخلات المستخدم، يجب أن يكون لدينا قائمة نضع فيها هذه المدخلات.
2. نبدأ بإنشاء قائمة فارغة باستخدام الأقواس المربعة `[]`.
3. ثم داخل حلقة تكرار (loop)، نستخدم `input()` لأخذ المدخل من المستخدم.
4. نستخدم `append()` لإدخال القيمة التي أدخلها المستخدم إلى القائمة الفارغة في كل دورة من الحلقة.
تلميح: يجب أن يكون هناك وعاء (container) فارغ جاهز لتخزين المدخلات.
التصنيف: خطوات | المستوى: متوسط
إذا كان لديك القائمة `grades = [89, 88, 98, 95]`، ثم نفذت `grades.append(100)` و `grades.append(73)`، فما هي القيمة النهائية للقائمة `grades`؟
- أ) [89, 88, 98, 95]
- ب) [100, 73, 89, 88, 98, 95]
- ج) [89, 88, 98, 95, 100, 73]
- د) [89, 100, 88, 73, 98, 95]
الإجابة الصحيحة: c
الإجابة: [89, 88, 98, 95, 100, 73]
الشرح: 1. القائمة الأصلية: `grades = [89, 88, 98, 95]`.
2. بعد تنفيذ `grades.append(100)`: تُضاف القيمة 100 إلى النهاية، فتصبح القائمة `[89, 88, 98, 95, 100]`.
3. بعد تنفيذ `grades.append(73)`: تُضاف القيمة 73 إلى نهاية القائمة الجديدة، فتصبح `[89, 88, 98, 95, 100, 73]`.
تلميح: تذكر أن `append()` تضيف العناصر إلى نهاية القائمة الحالية.
التصنيف: سؤال اختبار | المستوى: سهل