On 29/01/18 06:42, vinod bhaskaran wrote:

> newstring = ''
> oldstring = 'Newton'
> for char in oldstring:
>    newstring = char + newstring
> print(newstring)
> 
> Could someone explain how it is traversing to get the string reversed?

print statements are your friend.
Add print statements everywhere that a variable changes value:

 newstring = ''
 oldstring = 'Newton'
 for char in oldstring:
    print ("char=",char)
    newstring = char + newstring
    print(newstring=",newstring)
 print(newstring)

That will let you see how the newstring gets built
up inside the loop.

You could do the same thing using a paper and pen,
just walk through the code in your mind and write
down the values each time, like so:

char    newstring
N       N
e       e = N -> eN
w       w + eN -> weN
etc...

> As the new character is adding the char in the new string but how is it
> getting reversed without any line giving the char number to be traversed in
> reverse order.

As you will see if you do either of the suggested
exercises the addition always puts the latest char
at the front of the newstring.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to