Хорошо, поэтому я пытаюсь найти максимум любой функции f (x) в определенном диапазоне, и в которой x это происходит. Аргументами функции python будут (f (x), [a, b]). f (x) - любая функция и [a, b] диапазон, который мы будем изучать.
Пока я пробовал несколько вещей, но ни одна из них не работала. Больше всего мне понравился сбой из-за попытки конвертировать строку в число с плавающей точкой.
def maxf(function,interval):
maxresult = 0
for x in range(interval[0]-1,interval[1]+1):
result=float(function.replace("x",str(x)))
if result >= maxresult:
maxresult = result
maxresultx = x
return maxresult,maxresultx
print(maxf("x**2",[1,3]))
Этот возвращает:
Traceback (most recent call last):
File "main.py", line 10, in <module>
print(maxf("x**2",[1,3]))
File "main.py", line 4, in maxf
result=float(function.replace("x",str(x)))
ValueError: could not convert string to float: '0**2'
Я не знаю, есть ли более простой способ сделать это или как исправить код, чтобы я мог преобразовать эту строку.