2016-01-21 55 views
2

chaotic attractor reconstruction.的頁面中的代碼的Python 3.4.4下運行如下時返回一個錯誤:Python的嵌套括號函數參數列表無效語法

def rossler_odes((x, y, z), (a, b, c)): 
    return numpy.array([-y - z, x + a * y, b + z * (x - c)]) 

我猜這可能是一個Python版本問題eg爲3.4.4以前版本創建的代碼。我不知道Python,但我想運行這個來學習物理學,當然還有語言。

+0

考慮使用'tuples'甚至'dictionaries'作爲參數。然後你會在字典裏面命名參數例如。 'tup1 ['x'],tup2 ['a']'等等。 – PatNowak

回答

3

在Python 3中刪除了元組參數解包,請參閱PEP 3113What's new in Python 3.0。正如那裏所建議的那樣,使代碼Python 2/3兼容的最簡單方法是使用

def rossler_odes(x_y_z, a_b_c): 
    x, y, z = x_y_z 
    a, b, c = a_b_c 
    return numpy.array([-y - z, x + a * y, b + z * (x - c)]) 
+0

斯蒂芬,你的回答真的很有價值!它完美地說明了這個概念。 – user250343