这是我关于堆栈溢出的第一个问题,请评论我如何改进提问。
这就是我认为是我的代码的相关部分。
#import libraries
from numpy import *
from matplotlib.pyplot import *
#leapfrog method
def orbit(m1=1.0e30, m2=1.0e24, a=1.0e11, e=0.1):
#conditions
G=6.67*e-11
q=m1/m2
m=m1+m2
r0=(1-e)*a/(1+q)
v0=1/(1+q)sqrt((1+e)/(1-e)*G*m/a)
导入代码时收到错误:
import hw5redo
File "hw5redo.py", line 12
r0 = (1-e)*a/(1+q)
^
SyntaxError: invalid syntax
当我从我的代码中评论时,我收到了:
import hw5redo
File "hw5redo.py", line 12
#r0=(1-e)*a/(1+q)
^
SyntaxError: invalid syntax
我认为评论甚至不应被视为syntaxErrors,因为它们仅供用户使用。
答案 0 :(得分:1)
@rth是对的,请检查下面的代码,你应该在sqrt函数之前使用*:
def orbit(m1=1.0e30, m2=1.0e24, a=1.0e11, e=0.1):
G = 6.67 * e - 11
q = m1 / m2
m = m1 + m2
r0 = (1 - e) * a / (1 + q)
value = (1 + e) / (1 - e) * G * m / a
# Note that value is negative in this case, and it will raise a warning
print value
v0 = 1 / (1 + q) * sqrt(value)
希望代码可以帮助你。