• 0
m ahmed

كيف تعمل for مع else

سؤال

for n in range(3):   print(n, "YES")else:    print(n, "NO")

output

0 YES1 YES2 YES2 NO

لماذا

2 NO

 ?

1

شارك هذا الرد


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

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

  • 0

ولكن كان عليك أن تسأل أيضا لماذا تم طباعة 2 مرتين واحده yes و أخرى no ... الجواب هو أن البرنامج يعمل بصوره طبيعيه جدا..

 

أول لما بدأت الحلقه كان ال n=0 تمام ... وبعد كدا دخلنا فى ال loop وتم تنفيذ الأمر و هو طباعة n والتى تساوى الأن 0 و بجانبها yes وعدنا مره أخرى لبداية الloop واصبحت ال n=1 وتم تنفيذ الأمر وطباعة yes 1 وعدنا مره أخرى و أصبحت ال n=2 وهذه أخر حاجه ولن يتم الرجوع للحلقه التكراريه مره أخرى ( لأنه كما تعلم فإن ال range تصل إلى الرقم المكتوب ناقص واحد) فبعد طباعة yws 2 نحاول العوده للحلقه التكراريه مره أخرى فنجد ان الrange قد وصل للنهايه ... فنخرج من ال for ولكن مازالت ال n=2 وننتقل للأمر الذى يليه وهو طباعة n وجانبها No >>  لذلك تم طباعة 2 no .

 

اتمنى أن الأمر يكون أتضح .

0

شارك هذا الرد


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

وضحت بارك الله فيك ..

فكرت بهذا الأمر .. لكن قلت اتأكد افضل ممكن else تحمل معنى آخر مع الـ loops

شكرا لك.

0

شارك هذا الرد


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

else تتحقق في حالة انتهاء الحاوية ال container الذي تقوم بعمل ال loop عليه

 

 >>> for x in []:...     print x... else:...     print "empty list"...     ... empty list>>> for x in ["hi", "bye", "okay"]:...     print x... else:...     print "empty list"...     ... hibyeokayempty list 
1

شارك هذا الرد


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

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

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



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

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

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