2013-01-17 30 views
1
rectified_mean_quad_error = (sum_quad_error - sum(quad_error_outliers))/(number_of_quads - len(quad_error_outliers))  

上面的代碼工作在Python正常的工作蟒蛇多不以/運營商

但是,如果我試圖打破上面的語句改成兩行用「/」操作和調整縮進,它不起作用。我不知道爲什麼會出現這種情況,因爲我使用了帶有'+'的多行而沒有任何問題。

回答

2

已經打破行Python中,你需要有開放的括號:

rectified_mean_quad_error = ((sum_quad_error - sum(quad_error_outliers))/ 
    (number_of_quads - len(quad_error_outliers))) 

或使用\突破:

rectified_mean_quad_error = (sum_quad_error - sum(quad_error_outliers))/ \ 
    (number_of_quads - len(quad_error_outliers)) 
0

爲了區分這樣的事情爲多行,你需要插入\,所以它看起來像:

rectified_mean_quad_error = (sum_quad_error - sum(quad_error_outliers))/\ 
          (number_of_quads - len(quad_error_outliers)) 
1

雖然ZCH的答案是完全正確的(我給它一個+1,你應該接受它),解決這個問題的慣用方式是分手的聲明:

quad_sum_diff = sum_quad_error - sum(quad_error_outliers) 
quad_count = number_of_quads - len(quad_error_outliers) 
rectified_mean_quad_error = quad_sum_diff/quad_count 

這允許你給漂亮的名字到中間結果(我只是猜對了名字,但大概你實際上知道它們應該是什麼意思),這通常使得事情更可讀,而不是表達式繼續進行2行,並滾動到右邊的窗口。