python:一切正常时for循环上的语法无效
Python一直告诉我无效语法python:一切正常时for循环上的语法无效,python,for-loop,syntax,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
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
我试过用带整数的range作为测试。我打开一个单独的ipython然后跑了
for n in range(1, 2):
dx = 10 / n
效果很好
语法有什么问题
我已关闭python并重新打开,但这也没有帮助。当遇到神秘的语法错误时,请始终查看上面的内容:
>>> s = "u = 2. * (2. / (np.exp(x + 20.) + np.exp(-x - 20.)) ** 2"
>>> s.count("(")
4
>>> s.count(")")
3
您忘了在这里添加一个结束括号
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)
您忘记了
u=2上的括号*
,到底什么是np
?@GamesBrainiac:np
是导入numpy
库时使用的标准缩写。通常,在数值程序的开头,您会看到将numpy导入为np
。@DSM对此表示感谢。“什么时候一切都是正确的”->这就是它工作正常的原因!否则,shebang仍然被算作一行(如果不是的话,它会很混乱)。