On Sun, May 17, 2015 at 02:50:39PM -0700, Danny Yoo wrote: > I was reading the "Cartoon Guide to Statistics", and came across a > description on "Stem and plot diagrams". > (http://en.wikipedia.org/wiki/Stem-and-leaf_display.) It's sorta like > a histogram diagram, but bundles by the ten's digit, and uses the > one's digit as the "point". > > Here's my attempt at describing it as a program: > > ########################################################### > """ > Stem and leaf plotting. > http://en.wikipedia.org/wiki/Stem-and-leaf_display. > """ > > import collections > import sys > > > def printStemPlot(values): > """Prints a stem plot of the values.""" > stems = collections.defaultdict(list) > for v in values: > stems[v / 10].append(v % 10) > > low, high = min(stems.keys()), max(stems.keys()) > padding = len(str(high)) > for i in range(low, high+1): > stems[i].sort() > print(str(i).ljust(padding) + ' | ' + > ' '.join(map(str, stems[i])))def printStemPlot(values):
Nice! It doesn't cope with Stem-and-leaf plots in their full generality, e.g.: stem-widths which are not 10: 4 | 1 2 2 4 | 5 7 9 9 9 5 | 0 0 3 | 5 8 and you should print the stem and leaf width and give a key, but it's otherwise excellent. Thank you for sharing! -- Steve _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor