הפקודות break ו- continue

הפקודות break ו-continue מאפשרות לנו להתערב במהלך ריצה של לולאות ומאפשרות לנו גמישות נוספת בנוגע למספר הפעמים שהקוד יבוצע. הפקודות האלה עובדות באופן זהה גם בלולאות while וגם בלולאות for. נתחיל בהסבר על continue.

continue

הפקודה continue מאפשרת לנו לדלג על "ריצה" אחת של הלולאה (איטרציה) במידה ותנאי שהגדרנו מתקיים. הדילוג יתבצע על כל הקוד שמופיע אחרי continue והלולאה תתחיל סיבוב נוסף.

בדוגמא הבאה נשתמש ב-continue כדי להדפיס מספרים זוגיים בלבד

בכל ריצה של הלולאה, מתבצעת בדיקה על המשתנה number. כאשר המשתנה מצביע למספר אי זוגי, שארית החלוקה מ-2 היא 1 – התנאי מתקיים ויתבצע דילוג לראש הלולאה. זאת הסיבה שהפקודה print לא תבוצע בריצות האלה אך כן תתבצע כשהתנאי לא יתקיים (מספרים זוגיים).

break

בעוד ש-continue מאפשרת לנו לדלג על איטרציה בודדת, הפקודה break מאפשרת לדלג על הלולאה בשלמותה ולעזוב אותה במעוד מועד במידה ותנאי מסויים מתקיים.

בדוגמא הבאה על המשתמש להכניס סיסמא. הביטוי while True מייצר בהגדרה לולאה אינסופית (כל עוד אמת שווה לאמת) וכך למעשה תמשיך המערכת לבקש את הסיסמא שוב ושוב. יוצא מן הכלל הוא המקרה שבו המשתמש יכניס את הסיסמא הנכונה. במקרה זה תדפיס המערכת הודעת אישור ו"תשבור" את הלולאה כדי שהתוכנית תוכל להמשיך להתקדם.

דוגמא נוספת עם לולאת for. התוכנית מקבלת מעובד משכורות עבור כל חודש בשנה ומדפיסה את הרווח הכולל שלו עבור אותה שנה.

אבל במידה והעובד עבד רק חלק מהשנה אין טעם לעבור על כל החודשים שנותרו ולכן, למרות שהלולאה מתוכננת לבצע 12 ריצות (אחת עבור כל חודש), במקרה שיתקבל המספר 0, התכנית תשבור את הלולאה ותדפיס את סכום המספרים שהתקבלו עד לאותה נקודה.