首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:用于算术的"SyntaxError:无效语法“

Python:用于算术的"SyntaxError:无效语法“
EN

Stack Overflow用户
提问于 2015-07-20 22:52:31
回答 1查看 1.1K关注 0票数 0

这是我关于堆栈溢出的第一个问题,请评论我如何改进问问题。

这就是我认为与我的代码相关的部分。

代码语言:javascript
复制
#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)

当我导入代码时,我会收到一个错误:

代码语言:javascript
复制
import hw5redo
  File "hw5redo.py", line 12
    r0 = (1-e)*a/(1+q)
                   ^
SyntaxError: invalid syntax

此外,当我从代码中注释它时,我会收到:

代码语言:javascript
复制
import hw5redo
  File "hw5redo.py", line 12
    #r0=(1-e)*a/(1+q)
                 ^
SyntaxError: invalid syntax

我认为评论甚至不应该被认为是syntaxErrors,因为它们只针对用户。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-20 23:32:44

@rth是正确的,请检查下面的代码,您应该在sqrt函数之前使用*:

代码语言:javascript
复制
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)

希望密码能帮到你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31527629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档