TypeError от попытки возведения в степень
Я пытаюсь построить график зависимости функции r от вероятности нахождения электрона в основном состоянии двумерного и трехмерного атома водорода. Код, который у меня есть сейчас:
import math
import matplotlib.pyplot as plt
import numpy as np
def three_dimensional(radius):
bohr = (5.2917721067)*10**(-11)
use_radius = []
for i in radius:
new_rad = bohr*i
use_radius.append(new_rad)
answers = []
for i in use_radius:
R_r = (2//(bohr)**(3//2))*math.exp(-i/bohr)
answers.append(R_r)
probability = []
for i in answers:
probs = i^2
probability.append(probs)
print(answers)
return plt.contour(answers, probability)
Я получаю ошибку:
Ошибка типа: неподдерживаемые типы операндов для ^: 'float' и 'int'
Каков наилучший способ исправить это?
1 ответ
Вы хотите **
оператор, который является оператором экспоненты в Python, а не ^
, Так что эта строка должна быть:
for i in answers:
probs = i**2
probability.append(probs)