Python Forum
Confused by 'break' in the official documents
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Confused by 'break' in the official documents
#1
Found these examples in the documentation.Was looking up For/Else loops. They both use a break statement. Was a bit confused why the break statement was there so ran them both without the break statements and the output is the same! So why have them?

Example 1.
for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, 'equals', x, '*', n/x)
            break
Example 2 - which is adding an else statement to the above (which I get)

for n in range(2, 10):
     for x in range(2, n):
         if n % x == 0:
             print(n, 'equals', x, '*', n//x)
             break
     else:
         # loop fell through without finding a factor
         print(n, 'is a prime number')
Reply
#2
(Apr-12-2020, 06:22 PM)Chuck_Norwich Wrote: so ran them both without the break statements and the output is the same!
That is not true, the output is different.

First snippet, with break:
Output:
4 equals 2 * 2.0 6 equals 2 * 3.0 8 equals 2 * 4.0 9 equals 3 * 3.0
First snippet, without break:
Output:
4 equals 2 * 2.0 6 equals 2 * 3.0 6 equals 3 * 2.0 8 equals 2 * 4.0 8 equals 4 * 2.0 9 equals 3 * 3.0
There are 2 extra lines.

break serve to break out (i.e. terminate the execution) of the loop early. In the example - 6 is evenly divisible by 2, so there is no need to continue searching for other divisors, obviously it's not prime number.


Now, in the second snippet you have also extra else clause. If the loop exection finishes normally (i.e. not from break) this will be executed.

Output:
2 is a prime number 3 is a prime number 4 equals 2 * 2 5 is a prime number 6 equals 2 * 3 7 is a prime number 8 equals 2 * 4 9 equals 3 * 3
if not clear, look at this step by step execution
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#3
ok. Yes.Thanks.

The visualise Python site is perfect!
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Pandas confused DPaul 6 204 Sep-19-2021, 06:45 AM
Last Post: DPaul
  is and '==' i'm confused hshivaraj 6 351 Sep-15-2021, 09:45 AM
Last Post: snippsat
  –°ombine (Merge) word documents using python-docx Lancellot 1 2,969 May-12-2021, 11:07 AM
Last Post: toothedsword
  Confused with 'flags' tester_V 10 1,281 Apr-12-2021, 03:03 AM
Last Post: tester_V
  Copy documents to Teams using python SallySmith 0 484 Mar-23-2021, 04:27 AM
Last Post: SallySmith
Question Mouseover(Hover/Float) text in PDF documents ak52 1 508 Feb-24-2021, 06:13 PM
Last Post: nilamo
  Simple Tic Tac Toe but I'm confused Izith 1 649 Sep-26-2020, 04:42 PM
Last Post: Larz60+
  I am really confused with this error. Runar 3 831 Sep-14-2020, 09:27 AM
Last Post: buran
  Confused on how to go about writing this or doing this... pythonforumuser 3 977 Feb-10-2020, 09:15 AM
Last Post: snippsat
  I need help using Python to generate usernames and passwords with excel documents Jannejannesson 3 1,900 May-08-2019, 02:30 PM
Last Post: Jannejannesson

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020