重力(F):F = G(m1)(m2)/(r ** 2)和F = mg
万有引力常数:G = 6.67300×10 ** - 11
检查(g)的结果值是否接近9.8 m / s ** 2
其他变量:
radius_earth = 6378 * 10 ** 3
mass_earth = 5.9742 * 10 ** 24#m1
现在这是我想要的? 9.8米/秒** 2 ???????
这就是我所说的:
radius_earth = 6378 * 10 ** 3
mass_earth = 5.9742 * 10 ** 24 # m1
jones_mass = input("Mr Jones Mass in kilograms is: ") #m2
float_mass = float(jones_mass)
gravity = 6.67300 * 10 ** -11
force = gravity * mass_earth * float_mass / (radius_earth ** 2)
#gravitational force
print(force)
因为当我输入1时,我得到了这个结果:
Mr Jones Mass in kilograms is: 1
9.80013035755848
>>>
我是否正确地这样做,因为它说答案应该相当于9.8毫秒/ ** 2?
答案 0 :(得分:2)
是的,看起来你正确地做到了。至于舍入错误(我理解可能是你的问题的重点),推荐的读数是:What Every Computer Scientist Should Know About Floating-Point Arithmetic(它不仅适用于Python)。
为了在Python中提供一些精确度,您可以使用decimal
模块。
答案 1 :(得分:0)
首先你最有可能在我的班级cs10 lol。 其次,一切都很完美,期待你的印刷声明......
将其更改为:
print(format(force,'.1f'),"m/s^2")
也可以声明jones的质量将是输入语句中的一个浮点数,而不是只有一个变量来将jones_mass更改为一个浮点数:
之前:
jones_mass = input("Mr Jones Mass in kilograms is: ")
float_mass = float(jones_mass)
后:
jones_mass = float(input("Mr Jones Mass in kilograms is: "))
答案 2 :(得分:0)
accel_gravity = 9.81 accel_gravity = float((G * M)/(dist_center**2))