[Tutor] Correct use of range function..
Alan Gauld
alan.gauld at btinternet.com
Sun Jun 10 19:16:00 CEST 2007
"Adam Urbas" <jped.aru at gmail.com> wrote
>I discovered something about your revers word program here. I used
> the "for c in word" one.
> if you type an indented print after print c, then it will print the
> words vertically. Just thought I'd share that with you.
You can achieve the same by missing out the comma at the end
of the print statement too. The comma suppresses a newline
character. By using a second print you put it back! So just
missing the comma achieves the same end result.
Alan G.
> On 6/10/07, Kent Johnson <kent37 at tds.net> wrote:
>> David Hamilton wrote:
>> > I just finished doing an exercise in a tutorial on the range
>> > function
>> > and while I got it to work, my answer seems ugly. I'm wondering
>> > if I'm
>> > missing something in the way I'm using the range function.
>> > The tutorial ask me to print a string backwards. My solution
>> > works, but
>> > it it just doesn't "feel" right :). My result is difficult to
>> > read and
>> > I feel like I'm probably over complicating the solution.
>> > Suggestions?
>> >
>> > word="reverse"
>> > #Start at the end of the string, count back to the start,
>> > printing each
>> > letter
>> > for i in range(len(word)-1,-1,-1):
>> > print word[i],
>>
>> That's probably the best you can do using range(). You could write
>> ln = len(word)
>> for i in range(ln):
>> print word[ln-i-1],
>>
>> but that is not much different.
>>
>> You can do better without using range; you can directly iterate the
>> letters in reverse:
>>
>> for c in word[::-1]:
>> print c,
>>
>> Kent
>> _______________________________________________
>> Tutor maillist - Tutor at python.org
>> http://mail.python.org/mailman/listinfo/tutor
>>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
More information about the Tutor
mailing list