我这样做了吗?初学者蟒蛇

时间:2015-01-28 22:10:27

标签: python

  1. X的提示用户(这是琼尔先生在Kilo Grams中的重量)
  2. 计算重力引起的重力(F)和由于重力引起的加速度(g) 地球施加在他身上的力量。
  3. 重力(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?

3 个答案:

答案 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))