Confused by 'break' in the official documents
 Confused by 'break' in the official documents Chuck_Norwich Silly Frenchman Posts: 25 Threads: 9 Joined: Jul 2019 Reputation: Apr-12-2020, 06:22 PM 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 Posts: 7,614 Threads: 133 Joined: Sep 2016 Reputation: Apr-12-2020, 06:53 PM (This post was last modified: Apr-12-2020, 06:53 PM by buran.) (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 Chuck_Norwich Silly Frenchman Posts: 25 Threads: 9 Joined: Jul 2019 Reputation: Apr-12-2020, 09:26 PM (This post was last modified: Apr-12-2020, 09:30 PM by Chuck_Norwich.) 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,280 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 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 648 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