<< Chapter < Page Chapter >> Page >

Figure 2 shows the output produced by the code in Listing 2 . You should compare this output with the output shown in Figure 1 .

Figure 2 . Output from the code in Listing 2.
1-1-1 continue1-1-3 In else clause on inner while loop1-2-1 continue1-2-3 In else clause on inner while loopIn else clause on for loop 2-1-1continue 2-1-3In else clause on inner while loop 2-2-1continue 2-2-3In else clause on inner while loop In else clause on for loopIn else clause on outer while loop Goodbye

Once during each iteration of the while loop in Listing 2 , a test is made to determine if the condition variable, rightDigit , is equal to 2. If so, the word continue is printed and a continue statement is executed.

The execution of the continue statement causes the current iteration of the loop to terminate and the next iteration to begin. This, in turn causes the print statement following the if statement to be skipped and the word continue to be printed in its place. You can easily see where this happens by comparing the output in Figure 2 with the output in Figure 1 .

Visualize the behavior of the continue statement

I also recommend that you create a visualization for the code in Listing 2 and step through the program one instruction at a time. As you do that, pay attention to the movements of the red and green arrows on the left,the diagram on the right, and the printed material at the bottom. That should help you to better understand the behavior of the continue statement.

The break statement

The break statement is much more drastic than the continue statement. Whereas a continue statement causes the current iteration of the loop to terminate, a break statement causes the entire loop to terminate.

This is illustrated in Listing 3 , which shows a break statement inserted in place of the continue statement from Listing 2 . The print statement was also modified, causing it to print break in place of continue .

Listing 3 . Nested loops with a break statement.
# Illustrates nested loops with else and break #---------------------------------------------------------------------------leftDigit = 0 rightDigit = 0#Begin outer while loop while leftDigit<2: leftDigit += 1#Begin for loop for middleDigit in range(1,3):rightDigit = 0 #Begin innermost while loopwhile rightDigit<3: rightDigit += 1if rightDigit == 2: print("break")break print(str(leftDigit) + "-" + str(middleDigit) + "-" + str(rightDigit))else: print("In else clause on inner while loop")#end inner while loop with else clause else:print("In else clause on for loop") #end for loop with else clauseelse: print("In else clause on outer while loop")#end outer while loop with else clause print("Goodbye")

The output from the code in Listing 3 is shown in Figure 3 . You should compare this with the output shown in Figure 2 .

Figure 3 . Output from the code in Listing 3.
1-1-1 break1-2-1 breakIn else clause on for loop 2-1-1break 2-2-1break In else clause on for loopIn else clause on outer while loop Goodbye

The output for the continue statement in Figure 2 shows that only one iteration of the innermost while loop was impacted by the if statement and the continue statement in its body.

The output shown in Figure 3 shows that once the break statement was executed, no further iterations of the innermost while loop were executed. In other words, execution of the break statement terminated the loop in its entirety.

Figure 3 also shows that termination caused by a break statement also prevented the execution of the code in the else clause for the innermost while loop as indicated earlier ..

The innermost while loop is still executed twice for each iteration of its enclosing for loop. However, the while loop terminates part of the way through the second iteration and the printed output that would be produced by the second and third iterations (see Listing 3 ) is missing from the output shown in Figure 3 .

Visualize the behavior of the break statement

I also recommend that you create a visualization for the code in Listing 3 and step through the program one instruction at a time. As you do that, pay attention to the movements of thered and green arrows on the left, the diagram on the right, and the printed material at the bottom. That should help you to better understand the behaviorof the break statement.

The pass statement

I promised that this module will make brief mention of the pass statement, which does nothing. This is that brief mention. If you need to write code that does nothing, the pass statement will do that for you.

Run the program

I encourage you to copy the code from Listing 1 , Listing 2 , and Listing 3 . Execute the code and confirm that you get the same results as those shown in Figure 1 , Figure 2 , and Figure 3 . Experiment with the code, making changes, and observing the results of your changes. Make certain that youcan explain why your changes behave as they do.

I also recommend that you create and experiment with visualizations for the code in Listing 1 , Listing 2 , and Listing 3 .

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Itse1359-1260-Loop Modifiers
  • File: Itse1359-1260.htm
  • Published: 10/26/14
  • Revised: 09/05/15
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchasethe PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask