| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | from sys import version_infofrom functools import reducefrom operator import mulfrom flask_babel import gettextif version_info[0] == 3:    unicode = strkeywords = ('min',            'max',            'avg',            'sum',            'prod')# required answerer function# can return a list of results (any result type) for a given querydef 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 answererdef 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']}
 |