この方程式に問題があります。
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 桁に丸めるにはどうすればよいですか? ありがとう。