# List of pokemon sizes, from Bulbapedia
# (normal size, mega/totem/alolan size)
mega = [
( 2.0 , 2.4 ) ,
( 1.7 , 1.7 ) ,
( 1.6 , 1.6 ) ,
( 1.5 , 1.2 ) ,
( 1.5 , 1.4 ) ,
( 2.2 , 2.2 ) ,
( 1.5 , 1.7 ) ,
( 6.5 , 6.5 ) ,
( 1.8 , 2.1 ) ,
( 2.0 , 2.3 ) ,
( 2.0 , 1.5 ) ,
( 1.4 , 1.4 ) ,
( 1.8 , 2.0 ) ,
( 1.5 , 1.7 ) ,
( 1.4 , 1.9 ) ,
( 2.0 , 2.5 ) ,
( 1.9 , 1.9 ) ,
( 1.6 , 1.6 ) ,
( 0.6 , 1.0 ) ,
( 2.1 , 2.2 ) ,
( 1.3 , 1.3 ) ,
( 1.5 , 1.8 ) ,
( 1.1 , 1.2 ) ,
( 1.2 , 1.2 ) ,
( 1.9 , 1.9 ) ,
( 1.2 , 1.3 ) ,
( 2.2 , 2.7 ) ,
( 1.0 , 1.4 ) ,
( 1.5 , 2.2 ) ,
( 1.6 , 2.0 ) ,
( 9.2 , 10.5 ) ,
( 1.7 , 1.9 ) ,
( 1.5 , 1.9 ) ,
( 0.5 , 0.5 ) ,
( 1.8 , 2.5 ) ,
( 1.9 , 2.5 ) ,
( 1.1 , 1.5 ) ,
( 1.5 , 2.1 ) ,
( 1.5 , 1.8 ) ,
( 1.6 , 2.5 ) ,
( 1.4 , 1.8 ) ,
( 2.0 , 2.3 ) ,
( 7.0 , 10.8 ) ,
( 1.2 , 1.3 ) ,
( 1.6 , 1.6 ) ,
( 1.1 , 1.5 ) ,
( 0.7 , 1.1 )
]
alolan= [
( 0.7 , 0.7 ) ,
( 0.8 , 0.7 ) ,
( 1.0 , 1.2 ) ,
( 0.6 , 0.6 ) ,
( 0.7 , 0.7 ) ,
( 1.0 , 1.1 ) ,
( 1.0 , 1.0 ) ,
( 1.4 , 1.7 ) ,
( 1.2 , 1.0 ) ,
( 1.0 , 1.0 )
]
#2.0,10.9, # Totem Exeggutor outlier
totem = [
( 0.7 , 1.4 ) ,
( 1.0 , 1.7 ) ,
( 0.7 , 1.4 ) ,
( 1.5 , 2.6 ) ,
( 0.2 , 0.4 ) ,
( 1.8 , 3.1 ) ,
( 0.9 , 1.5 ) ,
( 1.2 , 2.1 ) ,
( 0.3 , 0.6 ) ,
( 0.2 , 0.4 ) ,
( 1.6 , 2.4 )
]
def calc_size( tabl) :
_min = 1000.0
_max = -1000.0
_avg = 0
temp = tabl
for t in temp:
a = t[ 1 ] /t[ 0 ]
if a > _max: _max = a
if a < _min: _min = a
_avg += a
_avg = _avg / len ( temp)
return ( _min, _max, _avg)
def print_size2( s) :
return "min %.3f max %.3f average %.3f" % s
totem_stat = calc_size( totem)
mega_stat = calc_size( mega)
alolan_stat = calc_size( alolan)
print ( "Size differences:" )
print ( "totem " + print_size2( totem_stat) )
print ( "mega " + print_size2( mega_stat) )
print ( "alolan " + print_size2( alolan_stat) )
_ts = totem_stat[ 1 ]
_ms = mega_stat[ 1 ]
_as = alolan_stat[ 1 ]
print ( "\n %.3f * %.3f * %.3f * 1.4 = %.3f " % ( _ts, _ms, _as, _ts*_ms*_as*1.4 ) )
IyBMaXN0IG9mIHBva2Vtb24gc2l6ZXMsIGZyb20gQnVsYmFwZWRpYQojIChub3JtYWwgc2l6ZSwgbWVnYS90b3RlbS9hbG9sYW4gc2l6ZSkKbWVnYSA9IFsKKDIuMCwyLjQpLAooMS43LDEuNyksCigxLjYsMS42KSwKKDEuNSwxLjIpLAooMS41LDEuNCksCigyLjIsMi4yKSwKKDEuNSwxLjcpLAooNi41LDYuNSksCigxLjgsMi4xKSwKKDIuMCwyLjMpLAooMi4wLDEuNSksCigxLjQsMS40KSwKKDEuOCwyLjApLAooMS41LDEuNyksCigxLjQsMS45KSwKKDIuMCwyLjUpLAooMS45LDEuOSksCigxLjYsMS42KSwKKDAuNiwxLjApLAooMi4xLDIuMiksCigxLjMsMS4zKSwKKDEuNSwxLjgpLAooMS4xLDEuMiksCigxLjIsMS4yKSwKKDEuOSwxLjkpLAooMS4yLDEuMyksCigyLjIsMi43KSwKKDEuMCwxLjQpLAooMS41LDIuMiksCigxLjYsMi4wKSwKKDkuMiwxMC41KSwKKDEuNywxLjkpLAooMS41LDEuOSksCigwLjUsMC41KSwKKDEuOCwyLjUpLAooMS45LDIuNSksCigxLjEsMS41KSwKKDEuNSwyLjEpLAooMS41LDEuOCksCigxLjYsMi41KSwKKDEuNCwxLjgpLAooMi4wLDIuMyksCig3LjAsMTAuOCksCigxLjIsMS4zKSwKKDEuNiwxLjYpLAooMS4xLDEuNSksCigwLjcsMS4xKQpdCgphbG9sYW49WwooMC43LDAuNyksCigwLjgsMC43KSwKKDEuMCwxLjIpLAooMC42LDAuNiksCigwLjcsMC43KSwKKDEuMCwxLjEpLAooMS4wLDEuMCksCigxLjQsMS43KSwKKDEuMiwxLjApLAooMS4wLDEuMCkKXQojMi4wLDEwLjksICMgVG90ZW0gRXhlZ2d1dG9yIG91dGxpZXIKCnRvdGVtID0gWwooMC43LDEuNCksCigxLjAsMS43KSwKKDAuNywxLjQpLAooMS41LDIuNiksCigwLjIsMC40KSwKKDEuOCwzLjEpLAooMC45LDEuNSksCigxLjIsMi4xKSwKKDAuMywwLjYpLAooMC4yLDAuNCksCigxLjYsMi40KQpdCgpkZWYgY2FsY19zaXplKHRhYmwpOgoJX21pbiA9IDEwMDAuMAoJX21heCA9IC0xMDAwLjAKCV9hdmcgPSAwCgl0ZW1wID0gdGFibAoJZm9yIHQgaW4gdGVtcDoKCQlhID0gdFsxXS90WzBdCgkJaWYgYSA+IF9tYXg6IF9tYXggPSBhCgkJaWYgYSA8IF9taW46IF9taW4gPSBhCgkJX2F2ZyArPSBhCglfYXZnID0gX2F2ZyAvIGxlbih0ZW1wKQoJcmV0dXJuIChfbWluLF9tYXgsX2F2ZykKCmRlZiBwcmludF9zaXplMihzKToKCXJldHVybiAibWluICUuM2YgICBtYXggJS4zZiAgIGF2ZXJhZ2UgJS4zZiIgJSBzCgp0b3RlbV9zdGF0ICA9IGNhbGNfc2l6ZSh0b3RlbSkKbWVnYV9zdGF0ICAgPSBjYWxjX3NpemUobWVnYSkKYWxvbGFuX3N0YXQgPSBjYWxjX3NpemUoYWxvbGFuKQoKcHJpbnQoIlNpemUgZGlmZmVyZW5jZXM6IikKcHJpbnQoInRvdGVtICAiICsgcHJpbnRfc2l6ZTIodG90ZW1fc3RhdCkgICkKcHJpbnQoIm1lZ2EgICAiICsgcHJpbnRfc2l6ZTIobWVnYV9zdGF0KSAgICkKcHJpbnQoImFsb2xhbiAiICsgcHJpbnRfc2l6ZTIoYWxvbGFuX3N0YXQpICkKCl90cyA9IHRvdGVtX3N0YXRbMV0KX21zID0gbWVnYV9zdGF0WzFdCl9hcyA9IGFsb2xhbl9zdGF0WzFdCgpwcmludCggIlxuJS4zZiAqICUuM2YgKiAlLjNmICogMS40ID0gJS4zZiAiICUgKF90cywgX21zLCBfYXMsIF90cypfbXMqX2FzKjEuNCkgKQ==