| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- from sys import version_info
 
- from functools import reduce
 
- from operator import mul
 
- from flask_babel import gettext
 
- if version_info[0] == 3:
 
-     unicode = str
 
- keywords = ('min',
 
-             'max',
 
-             'avg',
 
-             'sum',
 
-             'prod')
 
- # required answerer function
 
- # can return a list of results (any result type) for a given query
 
- def answer(query):
 
-     parts = query.query.split()
 
-     if len(parts) < 2:
 
-         return []
 
-     try:
 
-         args = list(map(float, parts[1:]))
 
-     except:
 
-         return []
 
-     func = parts[0]
 
-     answer = None
 
-     if func == b'min':
 
-         answer = min(args)
 
-     elif func == b'max':
 
-         answer = max(args)
 
-     elif func == b'avg':
 
-         answer = sum(args) / len(args)
 
-     elif func == b'sum':
 
-         answer = sum(args)
 
-     elif func == b'prod':
 
-         answer = reduce(mul, args, 1)
 
-     if answer is None:
 
-         return []
 
-     return [{'answer': unicode(answer)}]
 
- # required answerer function
 
- # returns information about the answerer
 
- def self_info():
 
-     return {'name': gettext('Statistics functions'),
 
-             'description': gettext('Compute {functions} of the arguments').format(functions='/'.join(keywords)),
 
-             'examples': ['avg 123 548 2.04 24.2']}
 
 
  |