Подтвердить что ты не робот

Python TypeError: неподдерживаемый тип операндов для ^: 'float' и 'int'

Я написал простую программу, которая аппроксимирует оценку определенного интеграла с помощью численного интегрирования. Тем не менее, я в тупике, когда дело доходит до того, почему я получаю ошибку в названии. Имейте в виду, что я не трогал python за полтора года, поэтому может быть что-то невероятно очевидное, что мне не хватает, однако я все равно буду благодарен, если вы могли бы мне помочь:) Вот код:

import math
def f(x):
    f=math.sqrt(1+(6*x+4)^2)
    return f


lbound=int(input("Input lower bound for the integral"))
ubound=int(input("Input upper bound for the integral"))
n=int(input("Input number of intervals"))
dx=((ubound-lbound)/n)
integral=0
for i in range(1,n):
    integral=integral+dx*f(i*dx)

print (integral)

Вот полный отчет об ошибке, который IDLE дает мне при попытке запустить код:

Traceback (most recent call last):
  File "C:\Users\******\Desktop\integrals.py", line 13, in <module>
    integral=integral+dx*f(n*dx)
  File "C:\Users\******\Desktop\integrals.py", line 3, in f
    f=math.sqrt(1+(6*x+4)^2)
TypeError: unsupported operand type(s) for ^: 'float' and 'int'
4b9b3361

Ответ 1

При попытке повысить мощность используйте операнд **, а не ^.

f=math.sqrt(1+(6*x+4)**2)