On Friday, Apr 15, 2005, at 18:46 America/Chicago, [EMAIL PROTECTED] wrote:
Those that are fluent in using the string formatting will groan, but I usually don't need fancy formatting and can get by with pretty simple commands. I just printed the first column right formatted and printed the name right next to it (so it appeared to be left formatted). The comma in the print statement added the space.I did look at your example about using the longest number, but I couldnt really understand all of the code, and ended up deciding to arrange it so that the two columns were left-aligned: it looked like it would align them down the center in your example? Let me know if I am misunderstanding something.
Here is my simple-minded way of thinking about the two column problem: 1) get the data into fixed width strings 2) add those two strings together and print them
Now, as you are seeing, the alignment options for a string will fill in the padding spaces that you need. Figuring out how long each column should *minimally* be (based on the actual data) is an extra layer of difficulty, but to keep it simple you could just pick widths that you think are reasonable and then do something like this:
### high = [(1000,"Denise"), (945,"Denise"), (883,"Denise"), (823,"Grant"), (779,"Aaron"), (702,"Pete"), (555,"Tom"), (443,"Tom"), (442,"Robin"), (404,"Pete")]
for score, who in high: col1 = str(score).rjust(10) col2 = who.rjust(20).replace(' ', '.') #replace spaces with dots print col1 + col2 ### --the output-- 1000..............Denise 945..............Denise 883..............Denise 823...............Grant 779...............Aaron 702................Pete 555.................Tom 443.................Tom 442...............Robin 404................Pete --end output--
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor