python:当一切正确时for循环上的语法无效

dus*_*tin -1 python syntax for-loop

Python一直告诉我无效的语法

In [7]:   File "/tmp/ipython-4302iuN.py", line 26
    for n in N:
              ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

它出现在第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
Run Code Online (Sandbox Code Playgroud)

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

for n in range(1, 2):
    dx = 10 / n
Run Code Online (Sandbox Code Playgroud)

哪个工作得很好.

语法有什么问题?

我关闭了python并重新打开了,但这也无济于事.

DSM*_*DSM 6

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

>>> s = "u = 2. * (2. / (np.exp(x + 20.) + np.exp(-x - 20.)) ** 2"
>>> s.count("(")
4
>>> s.count(")")
3
Run Code Online (Sandbox Code Playgroud)