Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
39
Task/Stem-and-leaf-plot/Python/stem-and-leaf-plot-1.py
Normal file
39
Task/Stem-and-leaf-plot/Python/stem-and-leaf-plot-1.py
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
from collections import namedtuple
|
||||
from pprint import pprint as pp
|
||||
from math import floor
|
||||
|
||||
Stem = namedtuple('Stem', 'data, leafdigits')
|
||||
|
||||
data0 = Stem((12, 127, 28, 42, 39, 113, 42, 18, 44, 118, 44, 37, 113, 124, 37,
|
||||
48, 127, 36, 29, 31, 125, 139, 131, 115, 105, 132, 104, 123, 35,
|
||||
113, 122, 42, 117, 119, 58, 109, 23, 105, 63, 27, 44, 105, 99,
|
||||
41, 128, 121, 116, 125, 32, 61, 37, 127, 29, 113, 121, 58, 114,
|
||||
126, 53, 114, 96, 25, 109, 7, 31, 141, 46, 13, 27, 43, 117, 116,
|
||||
27, 7, 68, 40, 31, 115, 124, 42, 128, 52, 71, 118, 117, 38, 27,
|
||||
106, 33, 117, 116, 111, 40, 119, 47, 105, 57, 122, 109, 124, 115,
|
||||
43, 120, 43, 27, 27, 18, 28, 48, 125, 107, 114, 34, 133, 45, 120,
|
||||
30, 127, 31, 116, 146),
|
||||
1.0)
|
||||
|
||||
def stemplot(stem):
|
||||
d = []
|
||||
interval = int(10**int(stem.leafdigits))
|
||||
for data in sorted(stem.data):
|
||||
data = int(floor(data))
|
||||
stm, lf = divmod(data,interval)
|
||||
d.append( (int(stm), int(lf)) )
|
||||
stems, leafs = list(zip(*d))
|
||||
stemwidth = max(len(str(x)) for x in stems)
|
||||
leafwidth = max(len(str(x)) for x in leafs)
|
||||
laststem, out = min(stems) - 1, []
|
||||
for s,l in d:
|
||||
while laststem < s:
|
||||
laststem += 1
|
||||
out.append('\n%*i |' % ( stemwidth, laststem))
|
||||
out.append(' %0*i' % (leafwidth, l))
|
||||
out.append('\n\nKey:\n Stem multiplier: %i\n X | Y => %i*X+Y\n'
|
||||
% (interval, interval))
|
||||
return ''.join(out)
|
||||
|
||||
if __name__ == '__main__':
|
||||
print( stemplot(data0) )
|
||||
19
Task/Stem-and-leaf-plot/Python/stem-and-leaf-plot-2.py
Normal file
19
Task/Stem-and-leaf-plot/Python/stem-and-leaf-plot-2.py
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
from collections import OrderedDict, Counter
|
||||
|
||||
x= [12, 127, 28, 42, 39, 113, 42, 18, 44, 118, 44, 37, 113, 124, 37, 48,
|
||||
127, 36, 29, 31, 125, 139, 131, 115, 105, 132, 104, 123, 35, 113,
|
||||
122, 42, 117, 119, 58, 109, 23, 105, 63, 27, 44, 105, 99, 41, 128,
|
||||
121, 116, 125, 32, 61, 37, 127, 29, 113, 121, 58, 114, 126, 53, 114,
|
||||
96, 25, 109, 7, 31, 141, 46, 13, 27, 43, 117, 116, 27, 7, 68, 40, 31,
|
||||
115, 124, 42, 128, 52, 71, 118, 117, 38, 27, 106, 33, 117, 116, 111,
|
||||
40, 119, 47, 105, 57, 122, 109, 124, 115, 43, 120, 43, 27, 27, 18,
|
||||
28, 48, 125, 107, 114, 34, 133, 45, 120, 30, 127, 31, 116, 146]
|
||||
|
||||
def stemleaf(x):
|
||||
d = OrderedDict((((str(v)[:-1],' ')[v<10], Counter()) for v in sorted(x)))
|
||||
for s in ((str(v),' '+str(v))[v<10] for v in x) : d[s[:-1]][s[-1]]+=1
|
||||
m=max(len(s) for s in d)
|
||||
for k in d:
|
||||
print('%s%s | %s'%(' '*(m-len(k)),k,' '.join(sorted(d[k].elements()))))
|
||||
|
||||
stemleaf(x)
|
||||
37
Task/Stem-and-leaf-plot/Python/stem-and-leaf-plot-3.py
Normal file
37
Task/Stem-and-leaf-plot/Python/stem-and-leaf-plot-3.py
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
from itertools import (groupby)
|
||||
from functools import (reduce)
|
||||
|
||||
|
||||
# stemLeaf :: (String -> Int) -> (String -> String) -> String -> String
|
||||
def stemLeaf(f, g, s):
|
||||
return '\n'.join(map(
|
||||
lambda x: str(x[0]).rjust(2) + ' | ' +
|
||||
reduce(lambda a, tpl: a + tpl[1] + ' ', x[1], ''),
|
||||
(groupby(sorted(
|
||||
map(lambda x: (f(x), g(x)), s.split())
|
||||
),
|
||||
lambda x: x[0]
|
||||
))
|
||||
))
|
||||
|
||||
|
||||
# main :: IO()
|
||||
def main():
|
||||
def stem(s):
|
||||
return (lambda x=s[:-1]: int(x) if 0 < len(x) else 0)()
|
||||
|
||||
def leaf(s):
|
||||
return s[-1]
|
||||
|
||||
s = ('12 127 28 42 39 113 42 18 44 118 44 37 113 124 37 48 127 36 29 31'
|
||||
' 125 139 131 115 105 132 104 123 35 113 122 42 117 119 58 109 23'
|
||||
' 105 63 27 44 105 99 41 128 121 116 125 32 61 37 127 29 113 121 58'
|
||||
' 114 126 53 114 96 25 109 7 31 141 46 13 27 43 117 116 27 7 68 40'
|
||||
' 31 115 124 42 128 52 71 118 117 38 27 106 33 117 116 111 40 119 47'
|
||||
' 105 57 122 109 124 115 43 120 43 27 27 18 28 48 125 107 114 34 133'
|
||||
' 45 120 30 127 31 116 146')
|
||||
|
||||
print (stemLeaf(stem, leaf, s))
|
||||
|
||||
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue