[Tutor] Unsubscribe

spawgi at gmail.com spawgi at gmail.com
Sat Oct 1 11:39:11 EDT 2016


On Sat, Oct 1, 2016 at 8:12 AM, boB Stepp <robertvstepp at gmail.com> wrote:

> On Sat, Oct 1, 2016 at 2:02 AM, Alan Gauld via Tutor <tutor at python.org>
> wrote:
> > On 01/10/16 05:24, boB Stepp wrote:
> >
> >> ============================================================
> ===================
> >> '''Exerise 3.1 from "Think Python 2" by Allen Downey.
> >>
> >> This module will take a string and right justify it so that the last
> character
> >> of the line will fall in column 70 of the display.  The results will be
> >> printed to stdout.'''
> >>
> >> def right_justify(a_string):
> >      <snip>
> >> def print_msgs(*msgs):
> >>     '''Prints messages to stdout.'''
> >>
> >>     for msg in msgs:
> >>         print(msg)
> >>
> >> def main(input_strings):
> >>     '''Run main program.'''
> >>
> >>     print('0123456789' * 7)    # Print a number guide to check length
> of line.
> >>     for input_string in input_strings:
> >>         print_msgs(*right_justify(input_string))
> >
> > Do you need print_msgs()?
> > Won't it work the same with
> >
> >            print(right_justify(input_string))
> >
> > You are only feeding one line at a time into the print msgs.
>
> [snip]
>
> > But I think I'd just leave it as you have it but
> > without the print_msgs()...
>
> I would still need to unpack the arguments returned by right_justify()
> that get fed to print():
>
> print(*right_justify(input_string))
>
> And I would have to add an additional "\n" to msg in the else clause
> of right_justify():
>
>  msg = ("The string has too many characters (> 70)!\n" +
>             "Only a partial, 70 character line will be returned.\n")
>
> so that the result formats the same as the original intent.  This
> gives me main() now as:
>
> def main(input_strings):
>     '''Run main program.'''
>
>     print('0123456789' * 7)    # Print a number guide to check length of
> line.
>     for input_string in input_strings:
>         print(*right_justify(input_string))
>
> Doing this did not occur to me because I was blind to treating
> print(*args) like any other function in regards to argument unpacking.
>
> One of the many wonderful things about Python is its consistency!
>
> Thanks, Alan!
>
>
>
> --
> boB
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>



-- 
We can do it and do it better.


More information about the Tutor mailing list