๐Ÿ“ฆ WhaleChen / python_toolbox

๐Ÿ“„ horner.py ยท 27 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27# Horner's algorithm

def horner(x, a_vector):
    '''
    # test x=0 
    >>> horner(0,[1,2,3])
    3
    >>> horner(1,[1,2,3])
    6
    >>> horner(0.5, [1,2,3])
    4.25
    '''
    if not len(a_vector):
        pass
    else:
        for i in range(len(a_vector)):
            if i ==0:
                a = a_vector[0]
            else:
                a = a*x + a_vector[i]
        return a


if __name__ =="__main__":
    import doctest
    doctest.testmod()