Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
For-else loop misbehavior?
#4
(Sep-11-2018, 07:55 PM)Johne1 Wrote: First line of output should always be: n=2, x=2 (this is never output!)
if n=2 then in the inner loop x will try to iterate over range(2,2). However range(2,2) is empty one:
>>> list(range(2,2))
[]
so the loop body (lines 3-8) is never executed (and thus no break statement) so else part (lines 10-11) is executed and it prints that 2 is prime number
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


Messages In This Thread
For-else loop misbehavior? - by Johne1 - Sep-11-2018, 06:24 PM
RE: For-else loop misbehavior? - by buran - Sep-11-2018, 06:54 PM
RE: For-else loop misbehavior? - by Johne1 - Sep-11-2018, 07:55 PM
RE: For-else loop misbehavior? - by buran - Sep-11-2018, 08:03 PM
RE: For-else loop misbehavior? - by Johne1 - Sep-11-2018, 08:17 PM
RE: For-else loop misbehavior? - by buran - Sep-11-2018, 08:22 PM
RE: For-else loop misbehavior? - by Johne1 - Sep-11-2018, 09:00 PM
RE: For-else loop misbehavior? - by buran - Sep-11-2018, 09:17 PM
RE: For-else loop misbehavior? - by Johne1 - Sep-11-2018, 09:35 PM

Forum Jump:

User Panel Messages

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