الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه mohamedz في 1 سبتمبر 2012 · 2 رد · 2,616 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

حلقة 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 في 1 سبتمبر 2012 في 23:57

2
#2

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

1 −1
#3

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

مواضيع مشابهة