• 0
mohamedz

الدرس الثامن : الحلقات loops (الجزء الثاني)

سؤال

أخطأت في العنوان ثانية هذا الدرس التاسع

الفصل الاول : أساسيات بايثون

حلقة 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

الدرس الثالث : الإدخال Input

الدرس الرابع : الجملة الشرطية if

الدرس الخامس : المقاطع string

الدرس السادس : الكائنات متعددة العناصر (الجزء الأول)

الدرس السابع : الكائنات متعددة العناصر (الجزء الثاني)

الدرس الثامن : الحلقات loops (الجزء الأول)

الدرس التاسع : الحلقات loops (الجزء الثاني)

إزالة الغموظ من الفصل الأول

تم تعديل بواسطه mohamedz
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

مآقصرت والله انكك كفوو كمل دروسك للاحتراف

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا على الدورة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .