Python Forum
While statement explanation
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
While statement explanation
#1
I am new to Python. I get while and for loops pretty well so far but I DO NOT understand the output of this code. Please explain this. I would most appreciate it.
n = 3
while n > 0:
    print(n + 1, end=' ')
    n -= 1
else:
    print(n)
Output:
4 3 2 0

Thank you for any help!
Reply
#2
Let's walk through the code, line by line, and keep track of what n is.

n = 3                       # 3
while n > 0:                # 3
    print(n + 1, end=' ')   # 3 (print 4)
    n -= 1                  # 2

while n > 0:                # 2
    print(n + 1, end=' ')   # 2 (print 3)
    n -= 1                  # 1

while n > 0:                # 1
    print(n + 1, end=' ')   # 1 (print 2)
    n -= 1                  # 0

else:
    print(n)                # 0
Reply
#3
What is it you don't understand? That the numbers printed count down from 4 instead of 3, or that they all appear on the same line?

The numbers start at 4 and count down to 1 because you are printing n+1, not n. The value for n starts at 3 and it ends at 0, so the output starts at 3+1 and ends at 0+1. nilamo covers this very well.

The numbers are all printed on the same line because you replaced the "end" string. Normally the print command end = '\n' which is a new line, but you replaced this with a space. So when you print it just prints the value of n+1 and a space instead of the value of n+1 and a newline character.
Reply
#4
Thank you all for the response. It was the output itself (the integers). Nilamo described it perfectly. I see where the breakdown in understanding the way it executed past the first iteration.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  New learner in Python, and need help on the term explanation BaicaiPy 3 1,291 Oct-15-2022, 03:31 PM
Last Post: Yoriz
  Some line code explanation Chrilo06 3 2,086 Feb-24-2022, 06:24 PM
Last Post: deanhystad
  XOR solution explanation needed. omm 7 3,195 Oct-26-2020, 06:30 AM
Last Post: omm
  Output explanation AmanTripathi 2 2,800 Feb-14-2018, 03:03 PM
Last Post: AmanTripathi
  need help with some explanation vincelim99 2 3,643 Mar-24-2017, 04:12 PM
Last Post: nilamo

Forum Jump:

User Panel Messages

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