הפקודות break ו-continue מאפשרות לנו להתערב במהלך ריצה של לולאות ומאפשרות לנו גמישות נוספת בנוגע למספר הפעמים שהקוד יבוצע. הפקודות האלה עובדות באופן זהה גם בלולאות while וגם בלולאות for.
נתחיל בהסבר על continue.
CONTINUE
הפקודה continue מאפשרת לנו לדלג על "ריצה" אחת של הלולאה (איטרציה) במידה ותנאי שהגדרנו מתקיים. הדילוג יתבצע על כל הקוד שמופיע אחרי continue והלולאה תתחיל סיבוב נוסף.
בדוגמה הבאה נשתמש ב-continue כדי להדפיס מספרים זוגיים בלבד
בכל ריצה של הלולאה, מתבצעת בדיקה על המשתנה number. כאשר המשתנה מצביע למספר אי זוגי, שארית החלוקה מ-2 היא 1 – התנאי מתקיים ויתבצע דילוג לראש הלולאה. זאת הסיבה שהפקודה print לא תבוצע בריצות האלה אך כן תתבצע כשהתנאי לא יתקיים (מספרים זוגיים).
BREAK
בעוד ש-continue מאפשרת לנו לדלג על איטרציה בודדת, הפקודה break מאפשרת לדלג על הלולאה בשלמותה ולעזוב אותה במעוד מועד במידה ותנאי מסוים מתקיים.
בדוגמה הבאה על המשתמש להכניס סיסמה. הביטוי while True מייצר בהגדרה לולאה אינסופית (כל עוד אמת שווה לאמת) וכך למעשה תמשיך המערכת לבקש את הסיסמה שוב ושוב. יוצא מן הכלל הוא המקרה שבו המשתמש יכניס את הסיסמה הנכונה. במקרה זה תדפיס המערכת הודעת אישור ו"תשבור" את הלולאה כדי שהתוכנית תוכל להמשיך להתקדם.
דוגמה נוספת, הפעם עם לולאת for. התכנית מקבלת מעובד משכורות עבור כל חודש בשנה ומדפיסה את הרווח הכולל שלו עבור אותה שנה.
במידה והעובד עבד רק חלק מהשנה אין טעם לעבור על כל החודשים שנותרו ולכן, למרות שהלולאה מתוכננת לבצע 12 ריצות (אחת עבור כל חודש), במקרה שיתקבל המספר 0, התכנית תשבור את הלולאה ותדפיס את סכום המספרים שהתקבלו עד לאותה נקודה.
Comments