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

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

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

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

الحلقات loops

الحلقات هي من المواضيع المهمة و العملية في البرمجة، فهي تعني الإستمرار في تنفيذ جزء معين من العبارات بوجود شرط معين، وعندما ينتفي هذا الشرط تتوقف الحلقة عن الدوران.

حلقة while

الصورة العامة :

while الشرط :  
#--- block بداية---  
	الأوامر هنا تنفذ إذا تحقق الشرط
#--- block نهاية ---

سكربت يشرح حلقة while :

#!/usr/bin/python
i = 0           #متغير الحلقة 
while i < 10 :  
#--- block بداية---  
	print i     #i إذا تحقق الشرط يطبع المفسر قيمة المتغير 
	i = i + 1   #عداد الحلقة
#--- block نهاية ---

ناتج السكربت :

0
1
2
3
4
5
6
7
8
9

شرح السكربت :

أول شيئ يفعله المفسر هو التحقق من شرط الحلقة i < 10 فإن وجد الشرط محقق يتجه لتنفيد عمل الحلقة و هو print i ثم ينزل إلى تحت فيجد عداد الحلقة i = i + 1 والذي يمكن أيظا كتابته هكذا 1 =+ i فيقوم بإضافة 1 إلى i أي أن i أصبح يساوي 1 ثم يتحقق من الشرط ثانية فيجده محقق لأن 10 > 1 فينفد أمر الحلقة و يطبع عدد 1 ثم ينزل إلى تحت فيجد العداد فيقوم بإضاقة 1 إلى i ثم يتحقق من شرط الحلقة مجددا ..... وهكذا حتى يصبح i يساوي 9 يقوم بطباعته على الشاشة ثم يضيف له 1 و عندما يتحقق من الشرط يجده غير محقق لأن العبارة 10 < 10 عبارة خاطئة فيقوم المفسر بالخروج من الحلقة تماما .

هكذا تعمل الحلقات

سكربت جدول الضرب :

#!/usr/bin/python
i = 1
x = input('Please enter any number : ')
while i <= 12 :
	print "%d * %d = %d" % (x, i, x * i)
	i += 1

نجد أننا بدلا من كتابة إجراء إظهار حاصل الضرب 12 مرة فقد تمت كتابته مرة واحدة فقط و تولت حلقة while تكرار هذا الإجراء 12 مرة.

نلاحظ وجود الرمز d% و هو رمز الأعداد الصحيحة بين الإقتباسين، و بعد الإقتباسين قمنا بكتابة العلامة % و من ثم كتبنا القيم المراد طبعها في مكان رموز الأعداد الصحيحة بين ()

و الحرص على فصل القيم بالفواصل.

>>> a = "aaaa" # string
>>> print "%s" % a  # %s هو string رمز المتغير
aaaa
>>> b = 1.5    # float
>>> print "%f" % b  # %f هو float رمز المتغير
1.500000
>>> print "%.2f" % b # قللنا من الاصفار
1.50

سكربت المضروب Factorial :

المضروب هو مجموع حاصل ضرب الرقم مع الرقم الذي يسبقه إلى الرقم واحد :

مضروب 3 يساوي 3 * 2 * 1 = 6

#!/usr/bin/python
Fac = 1
i = Num = input("Please input any number : ")
while i > 1 :
	Fac = Fac * i
	i = i - 1
print "Factorial of %d is %d" % (Num, Fac)

سكربت يعكس محتويات سلسلة نصية :

#!/usr/bin/python
name = "mohamed"
c = len(name)
i = c - 1
while i >= 0 :
	print name,
	i = i - 1

الوضيفة (len(string تقوم بحساب عدد الحروف الموجودة بال string.

i = c - 1 لان index ال string يبدأ ب 0.

يمكننا الخروج من الحلقة في اي وقت عن طريق break

مثال :

i=10
k=1
while k<i:
    print k
    k+=1

    if k>5:
        break

الخرج :

1
2
3
4
5

التمارين

أكتب سكربت يقوم بأخذ إسم من المستخدم ثم يقوم بنسخ علامة * بين كل حرف من إسم المستخدم.

*من فضلكم أريد حلا للتمرين *

فهرس الدورة

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

دورة بايثون من الصفر الى الاحتراف

الدرس الاول : أمر الطباعة print + التعليقات

الدرس الثاني : المتغيرات Variables

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

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

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

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

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

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

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

تم تعديل هذه المشاركة بواسطة mohamedz في 1 سبتمبر 2012 في 15:44

#2

درس رائع اخي

لقد قمت بحل الواجب :sleep:

d=raw_input("Enter :  ")
f=len(d)
i=0
x=""
while i<f:
    x+=d+"*"
    i+=1
print x

 Enter :  Py4object
P*y*4*o*b*j*e*c*t*

تم تعديل هذه المشاركة بواسطة Py4object في 31 أغسطس 2012 في 20:17

.Because it's FUN to be ALIVE

#3

أخي ممكن ضيف شغلة يمكن انت غفلت عنها

يمكننا الخروج من الحلقة في اي وقت عن طريق break

مثال

 i=10
k=1
while k<i:
    print k
    k+=1

    if k>5:
        break

الخرج

1
2
3
4
5

.Because it's FUN to be ALIVE

#4
Py4object كتب:

أخي ممكن ضيف شغلة يمكن انت غفلت عنها

يمكننا الخروج من الحلقة في اي وقت عن طريق break

مثال

 i=10
k=1
while k<i:
    print k
    k+=1

    if k>5:
        break

الخرج

1
2
3
4
5

شكرا عى التنبيه

#5

شكرا على الموضوع ، لي رجوع لحل التمرين إن شاء الله 

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