a = [1,5,6,9,10,11,12,13,15,18]
def max_value(a,b):
return a if a > b else b
def max_sequence(x):
result = x[0]
for element in x:
result = max_value(result, element)
return result
print(max_sequence(a))
def min_value(a,b):
return b if a > b else a
def min_sequence(x):
result = x[0]
for element in x:
result = min_value(result, element)
return result
print(min_sequence(a))
def reduce1(fn,x):
result = x[0]
for element in x:
result = fn(result, element)
return result
def reduce2(fn,x,init):
result = init
for element in x:
result = fn(result, element)
return result
def sum1(a,b):
return a + b
print(reduce1(max_value, a))
print(reduce1(min_value, a))
print(reduce2(sum1, a, 0))
print(reduce2(max_value, a, a[0]))
print("=================")
from functools import reduce
print(reduce(sum1,a,0))