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

时间:2013-09-26 16:05:53

标签: python for-loop syntax

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并重新打开了,但这也无济于事。

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分: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)