On Sat, Oct 1, 2016 at 2:02 AM, Alan Gauld via Tutor <tutor@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@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor