0

この方程式に問題があります。

from __future__ import division
import math

pi = 3.14159265
g = 6.67428*(10**-11)

user_circum = raw_input("Circumference (km) of planet? ")
user_acc = raw_input("Acceleration due to gravity (m/s^2)?")

def display_results(radius , mass , velocity):
    print "Radius of the planet"  , radius ,"km"
    print "Mass of the planet" , float(mass/10**15) ,"(10^21 kg)"
    print "Escape velocity of the planet" , velocity/1000 , "(km/s)"

def escape_velocity(circumference , acceleration):
    circumference = float(circumference)
    acceleration = float(acceleration)
    radius = circumference/(2*pi)
    mass = (acceleration * radius ** 2)/g
    vEscape = ((2*g*mass)/radius) ** 0.5
    display_results(radius , mass , vEscape)

escape_velocity(user_circum, user_acc)

ユーザー入力が 38000 および 9.8 の場合:

Circumference (km) of planet? 38000
Acceleration due to gravity (m/s^2)? 9.8

私はこの答えを得るはずです:

Calculating the escape velocity...
Planet radius = 6047.9 km
Planet mass = 5370.7 x 10^21 kg
Escape velocity = 10.9 km/s

しかし、代わりに、脱出速度についてこの答えが得られます。最初の 2 つは正しいです。

Escape velocity of the planet 0.344294353352 (km/s)

これは脱出速度√2gm/rの式です これを修正する方法はありますか? どうもありがとう。回答を小数点以下 1 桁に丸めるにはどうすればよいですか? ありがとう。

4

3 に答える 3

0

半径の単位を修正して表示を修正すると、次のようになります。

from __future__ import print_function
from __future__ import division
from math import pi

G = 6.67428*(10**-11)

user_circum = raw_input("Circumference (km) of planet? ")
user_acc = raw_input("Acceleration due to gravity (m/s^2)?")

def display_results(radius, mass, velocity):
    print("Radius of the planet {:.1f}km".format(radius/1000))
    print("Mass of the planet {:.1f}(10^21 kg)".format(mass/10**21))
    print("Escape velocity of the planet {:.1f}(km.s)".format(velocity/1000))

def escape_velocity(circumference, acceleration):
    circumference = float(circumference)
    acceleration = float(acceleration)
    radius = circumference*1000/(2*pi)
    mass = (acceleration * radius ** 2)/G
    vEscape = ((2*G*mass)/radius) ** 0.5
    display_results(radius, mass, vEscape)                                                                                                                                     

escape_velocity(user_circum, use_acc)
于 2013-10-17T02:27:37.740 に答える