-1

Python一直告诉我无效的语法

In [7]:   File "/tmp/ipython-4302iuN.py", line 26
    for n in N:
              ^
SyntaxError: invalid syntax

它出现在第 26 行而我这里没有 26 行的原因是由于 shebang 行和注释。

L = 80.0                                               
N = 2 ** np.arange(0, 10, dtype = np.float64)
dt = 0.0002
tmax = 10
nmax = int(np.floor(tmax / dt))  #  also try ceil/floor                            

deltax = []
error = []
u = 2. * (2. / (np.exp(x + 20.) + np.exp(-x - 20.)) ** 2


for n in N:
    dx = L / n

我尝试使用带整数的范围作为测试。我打开了一个单独的 ipython 并运行

for n in range(1, 2):
    dx = 10 / n

效果很好。

语法有什么问题?

我已经关闭了 python 并重新打开,但这也没有帮助。

4

2 回答 2

6

当遇到神秘的语法错误时,请始终往上看:

>>> s = "u = 2. * (2. / (np.exp(x + 20.) + np.exp(-x - 20.)) ** 2"
>>> s.count("(")
4
>>> s.count(")")
3
于 2013-09-26T16:08:21.087 回答
4

您忘记在此处添加结束括号

u = 2. * (2. / (np.exp(x + 20.) + np.exp(-x - 20.)) ** 2)
                                                        ^

最重要的是,您还没有x在这里定义:

u = 2. * (2. / (np.exp(x + 20.) + np.exp(-x - 20.)) ** 2)
于 2013-09-26T16:09:33.573 回答