امتحان Python 3: القوائم، المجموعات، والقواميس (10 تمارين مركبة)

امتحان Python 3: هياكل البيانات

اختبر مهاراتك في تنظيم البيانات باستخدام القوائم، المجموعات، القواميس، والصفوف.

تمرين 1 القوائم (Lists)

تعامل مع القائمة:

  1. أنشئ قائمة `fruits = ["apple", "banana", "cherry"]`.
  2. اطبع العنصر الثاني.
  3. غير قيمة "apple" إلى "kiwi".
  4. أضف "orange" إلى نهاية القائمة (`append`).
الحل
fruits = ["apple", "banana", "cherry"]
print(fruits[1])      # banana
fruits[0] = "kiwi"
fruits.append("orange")
print(fruits)
تمرين 2 تقطيع القوائم (List Slicing)

استخرج جزءاً من القائمة:

  1. لديك `fruits = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]`.
  2. اطبع العناصر من الثالث إلى الخامس (تذكر أن الفهرس يبدأ من 0).
الحل
fruits = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(fruits[2:5]) # ['cherry', 'orange', 'kiwi']
تمرين 3 الصفوف (Tuples)

تعامل مع الصفوف (غير قابلة للتعديل):

  1. أنشئ صفاً `fruits = ("apple", "banana", "cherry")`.
  2. اطبع العنصر الأول.
  3. حاول تغيير العنصر الأول واشرح النتيجة في تعليق.
الحل
fruits = ("apple", "banana", "cherry")
print(fruits[0])

# fruits[0] = "kiwi" 
# سيحدث خطأ (TypeError) لأن الصفوف (tuples) غير قابلة للتعديل (immutable).
تمرين 4 المجموعات (Sets)

تعامل مع المجموعات (بدون ترتيب أو تكرار):

  1. أنشئ مجموعة `fruits = {"apple", "banana", "cherry"}`.
  2. أضف "orange" للمجموعة (`add`).
  3. أضف "apple" مرة أخرى واطبع المجموعة لتلاحظ عدم التكرار.
الحل
fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
fruits.add("apple") # لن يتم إضافته لأنه موجود
print(fruits)
تمرين 5 القواميس (Dictionaries)

خزن بيانات مفتاح-قيمة:

  1. أنشئ قاموس `car = {"brand": "Ford", "model": "Mustang", "year": 1964}`.
  2. اطبع قيمة "model".
  3. غير قيمة "year" إلى 2020.
  4. أضف خاصية "color" بقيمة "red".
الحل
car = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
print(car.get("model"))
car["year"] = 2020
car["color"] = "red"
print(car)
تمرين 6 التكرار عبر القاموس (Looping Dictionaries)

اطبع محتويات القاموس:

  1. استخدم حلقة `for` لطباعة جميع المفاتيح والقيم في قاموس `car`.
  2. استخدم `car.items()`.
الحل
for key, value in car.items():
    print(key, value)
تمرين 7 القواميس المتداخلة (Nested Dictionaries)

أنشئ هيكلاً معقداً:

  1. أنشئ قاموس `myfamily`.
  2. يحتوي على مفتاحين "child1" و "child2".
  3. كل طفل هو قاموس يحتوي على "name" و "year".
  4. اطبع اسم الطفل الثاني.
الحل
myfamily = {
  "child1" : {
    "name" : "Emil",
    "year" : 2004
  },
  "child2" : {
    "name" : "Tobias",
    "year" : 2007
  }
}
print(myfamily["child2"]["name"])
تمرين 8 حذف العناصر (Removing Items)

احذف بيانات من القائمة:

  1. لديك `fruits = ["apple", "banana", "cherry"]`.
  2. احذف "banana" باستخدام `remove`.
  3. احذف العنصر الأخير باستخدام `pop`.
الحل
fruits = ["apple", "banana", "cherry"]
fruits.remove("banana")
fruits.pop()
print(fruits)
تمرين 9 فهم القوائم (List Comprehension)

أنشئ قائمة بطريقة مختصرة:

  1. لديك `fruits = ["apple", "banana", "cherry", "kiwi", "mango"]`.
  2. أنشئ قائمة جديدة `newlist` تحتوي فقط على الفواكه التي بها حرف "a".
  3. استخدم List Comprehension (سطر واحد).
الحل
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x for x in fruits if "a" in x]
print(newlist)
تمرين 10 نسخ القوائم (Copy Lists)

انسخ القائمة بشكل صحيح:

  1. لديك `thislist = ["apple", "banana"]`.
  2. أنشئ نسخة منها `mylist` باستخدام `copy()`.
  3. تأكد أن تعديل النسخة لا يؤثر على الأصل.
الحل
thislist = ["apple", "banana"]
mylist = thislist.copy()
print(mylist)
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن