f | def ADD(f, g): | f | def ADD(f, g): |
n | if callable(f) and callable(g): | n | if (callable(f) and callable(g)): |
| return lambda x: f(x) + g(x) | | return lambda x: f(x) + g(x) |
n | elif callable(f): | n | if (callable(f)): |
| return lambda x: f(x) + g | | return lambda x: f(x) + g |
n | elif callable(g): | n | if (callable(g)): |
| return lambda y: f + g(y) | | |
| else: | | |
| return lambda x: f + g | | return lambda x: f + g(x) |
| | | return lambda x: f + g |
| | | |
| | | |
| def SUB(f, g): | | def SUB(f, g): |
n | if callable(f) and callable(g): | n | if (callable(f) and callable(g)): |
| return lambda x: f(x) - g(x) | | return lambda x: f(x) - g(x) |
n | elif callable(f): | n | if (callable(f)): |
| return lambda x: f(x) - g | | return lambda x: f(x) - g |
n | elif callable(g): | n | if (callable(g)): |
| return lambda y: f - g(y) | | |
| else: | | |
| return lambda x: f - g | | return lambda x: f - g(x) |
| | | return lambda x: f - g |
| | | |
| | | |
| def MUL(f, g): | | def MUL(f, g): |
n | if callable(f) and callable(g): | n | if (callable(f) and callable(g)): |
| return lambda x: f(x) * g(x) | | return lambda x: f(x) * g(x) |
n | elif callable(f): | n | if (callable(f)): |
| return lambda x: f(x) * g | | return lambda x: f(x) * g |
n | elif callable(g): | n | if (callable(g)): |
| return lambda y: f * g(y) | | |
| else: | | |
| return lambda x: f * g | | return lambda x: f * g(x) |
| | | return lambda x: f * g |
| | | |
| | | |
| def DIV(f, g): | | def DIV(f, g): |
n | if callable(f) and callable(g): | n | if (callable(f) and callable(g)): |
| return lambda x: f(x) / g(x) | | return lambda x: f(x) / g(x) |
n | elif callable(f): | n | if (callable(f)): |
| return lambda x: f(x) / g | | return lambda x: f(x) / g |
n | elif callable(g): | n | if (callable(g)): |
| return lambda y: f / g(y) | | |
| else: | | |
| return lambda x: f / g | | return lambda x: f / g(x) |
| | | return lambda x: f / g |
| | | |
t | | t | |
| """ | | |
| if __name__ == '__main__': | | |
| from math import * | | |
| | | |
| f = SUB(sin, cos) | | |
| print(f(12), sin(12)-cos(12)) | | |
| | | |
| g = DIV(sin, cos) | | |
| print(g(pi/6), tan(pi/6)) | | |
| | | |
| h = MUL(exp, 0.1) | | |
| print(h(2), e**2/10) | | |
| | | |
| t = ADD(lambda s: len(s), sum) | | |
| print(t(range(5))) | | |
| """ | | |
| | | |