我正在尝试使以下函数输出正确答案,但'rightSide'变量是整数,并且没有任何小数。
def G(mass1, mass2, radius, force):
rightSide=(mass1*mass2)/(radius**2) #I want this to be a float
print rightSide
if rightSide==0:
print("The operation resulted in a zero, error!")
else:
answer=force/rightSide
print(str(answer)+" is the gravitation constant (G)!")
我只是希望所有变量都是浮点数,但问题始于'rightSide'。
我尝试了以下但没有成功:
float(rightSide)=(mass1*mass2)/(radius**2)
--
rightSide=(float(mass1)*float(mass2))/(float(radius)**2)
任何提示?谢谢!
没关系,我只是重新运行了我在问题中输入的第二个代码并且它有效-_-
答案 0 :(得分:2)
您需要将其中一个输入设为浮点值。尝试将2
更改为2.0
。 E.g:
>>> x=10
>>> x**2
100
>>> x**2.0
100.0
请注意,在Python 3 division automatically returns a floating point中,新的//
运算符显式执行整数除法。
答案 1 :(得分:1)
一般
x = float(2)
或
y = 10
x = float(y)
在你的情况下,
rightSide=float((mass1*mass2)/(radius**2))
答案 2 :(得分:1)
试试这个:
shape