أخطأت في العنوان ثانية هذا الدرس التاسع
الفصل الاول : أساسيات بايثون
حلقة for التسلسلية
كما يتضح من التسمية فإن هذا النوع من الحلقات يتسلسل (يمشي من بداية سلسلة ما حتى نهايتها) عكس while التي لا تدخل الحلقة إلا إذا تحقق شرطها فإذا تحقق لا تتوقف عن الدوران حتى يصبح الشرط خاطئا/غير صحيح.
كما أن حلقة for مناسبة أكثر للتعامل مع الحاويات مثل string و list و dict و tuple .
ما نوع هده السلسلة ؟
قد يكون أي شيء، حروف، أرقام، كلمات، جمل، كائنات، أي شيء. المهم أن تكون على شكل سلسلة يمكن القيام بالتدرج (iteration) عليها.
مثال:
>>> for n in range(5, 15): print n 5 6 7 8 9 10 11 12 13 14
الشرح:
لتذكير فقط فإن for و in من الكلمات المفتحية المحجوزة لبايثون. for تعني لكل و in تعني من.
range عبارة عن دالة تقوم بإنشاء سلسلة تبدأ من المعيار الأول (5) و تنتهي مع المعيار الثاني (15). لاحظ معي جيدا قلت "مع" وليس "في" المعيار الثاني. بمعنى أن السلسلة التي سيتم تكوينها/إنشائها ستكون كما يلي:
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
n ستكون المتغيرة التي ستأخذ القيمة التالية في كل دورة/تدرج من دورات على السلسلة. ستتغير قيمة n في كل دورة
إدا أعدنا صياغة هذه الحلقة بلغتنا فسكون كما يلي :
لكل قيمة معبر عنها بـ ن من قيم السلسلة التالية (5 إلى حدود 15):
إطبع قيمة ن
المثال الثاني:
>>> lang = ["Python", "Ruby", "Perl"] >>> for l in lang : print "Hello, ", l Hello, Python Hello, Ruby Hello, Perl
في السطر الاول قمنا بتحديد قائمة بالأسماء المذكورة.
بعدها كتبنا حلقة تسلسلية for ستستخدم المتغيرة l للتعبير عن كل قيمة من قيم القائمة lang. و في كل دورة يتم عرض قيمة المتغيرة g بعد ربطها بالجزء " ,Hello ".
و بذلك نكون قد قمنا بعرض رسالة تحية لكل لغة برمجة.
سكربت مواقع لغات البرمجة :
#!/usr/bin/python
langssites = {"Python" : "python.org",
"Ruby" : "ruby-lang.org",
"Perl" : "perl.org"}
for lang, site in langsites.items():
print '%s Programing Language at %s' % (lang, site)في السطر الثاني قمنا بتحديد قاموس مفاتيحه (keys) هي أسماء للغات برمجة و قيمه (values) هي مواقع هذه اللغات.
بعدها كتبنا حلقة تسلسلية for ستستخدم المتغيرين lang و site للتعبير عن كل key و values من عناصر القاموس langssites. و في كل دورة يتم عرض قيمة المتغيرين lang و site.
التمرين
المشكلة :
إذا قمنا بجرد كل الأرقام الطبيعية تحت العدد 10 بحثا عن مضاعفات العدد 5 أو 3 سنجد 3، 5، 6 و 9. و إذا قمنا بحساب مجموع هذه الأرقام سنجد الخارج هو 23.
المطلوب:
قم بحساب مجموع مضاعفات 3 أو 5 تحت العدد 1000.
إنتهى الفصل الأول بحمد الله
فهرس الدورة
الفصل الاول : أساسيات بايثون
دورة بايثون من الصفر الى الاحتراف
الدرس الاول : أمر الطباعة print + التعليقات
الدرس الثاني : المتغيرات Variables
الدرس الرابع : الجملة الشرطية if
الدرس السادس : الكائنات متعددة العناصر (الجزء الأول)
الدرس السابع : الكائنات متعددة العناصر (الجزء الثاني)
الدرس الثامن : الحلقات loops (الجزء الأول)
