我正在尝试计算内容,但是代码输出错误
我什至尝试将操作分为多个部分,一次也不做,我尝试通过设置和int()输出来完成,但是它也不起作用
import math
x_coo = 20
y_coo = 30
x = 50
y = 80
def distance(x_coo,y_coo,x,y):
dist = math.sqrt((e.x_coo-a.x)**2 + (e.y_coo-a.y)**2)
force = (81*24*25)/ (distance(e.x_coo,e.y_coo, a.x,a.y)^2)
print(force)
错误:
TypeError: unsupported operand type(s) for ^: 'NoneType' and 'int'
答案 0 :(得分:0)
您需要从函数distance
返回一个值。 Python喜欢返回值,如果不声明函数返回的内容,Python会假定您要返回None
。
这是您应该拥有的:
def distance(x_coo,y_coo,x,y):
dist = math.sqrt((e.x_coo-a.x)**2 + (e.y_coo-a.y)**2)
return dist
答案 1 :(得分:0)
您错过了return
上的distance()
,即:
def distance(x_coo,y_coo,x,y):
return math.sqrt((e.x_coo-a.x)**2 + (e.y_coo-a.y)**2)
答案 2 :(得分:0)
您忘记返回函数内的操作结果:
import math
x_coo = 20
y_coo = 30
x = 50
y = 80
def distance(x_coo,y_coo,x,y):
dist = math.sqrt((e.x_coo-a.x)**2 + (e.y_coo-a.y)**2)
return dist
force = (81*24*25)/ (distance(e.x_coo,e.y_coo, a.x,a.y)^2)
print(force)