Как создать другую функцию, которая несколько раз примет исходную функцию
Нужно для данной функции (с одним параметром, тип параметра и тип возвращаемого значения равны) создать другую функцию, которая несколько раз будет применять изначальную функцию.
Вот пример:
from math import sin
f1 = fn(lambda x: "sin(%s)" % x, 5)
f2 = fn(lambda x: sin(x), 5)
print("%s = %f" % (f1("1"), f2(1)))
>>sin(sin(sin(sin(sin(1))))) = 0.587181
print("%s = %f" % (f1("2"), f2(2)))
>>sin(sin(sin(sin(sin(2))))) = 0.606464
print(fn(lambda x: sin(x), 0)(1000))
>> 1000
Вот что сделал я:
from random import randint
def celsius(a):
return (5.0 / 9.0)*(a - 32)
def fn(f,n):
a = [[randint(1,1000) for j in range(f)] for i in range(n)]
for i in range(f):
for j in range(n):
a[i][j] = celsius(a[i][j])
return a
print(fn(3,3))
Вот ошибки, на которые мне указали, но сам я не так понял условие задачи, помогите пожалуйста разобраться.
def fn(f,n):
Это должно работать с любой функцией, а не только с одной.
print(fn(3,3))
Первый аргумент - это функция, а не число.