請在python 2.7中找到下面的代碼塊。Python中if elif else語句的正確組合
for i in range(len(p_routes)):
if len(p_routes[i]) > 2 :
if p_routes[i][2] == 'No Backup':
K = K + 1
for z in range(len(p_routes[i])):
nbup.write(K + 1 , z , p_routes[i][z])
elif p_routes[i][0][0] == 'E' :
L = L + 1
for z in range(len(p_routes[i])):
ex.write(L, z , (p_routes[i][z])
elif p_routes[i][0][0] == 'G':
M = M + 1
for z in range(len(p_routes[i]))
gh.write(M ,z, p_routes[i][z])
else len(p_routes[i]) < 2:
pass
print "\nFor some reason. "
嗯,我得到一個語法錯誤,說elif p_routes[i][0][0] == 'G':
。我無法弄清楚爲什麼會出現這個錯誤,因爲我認爲這條線沒有語法錯誤。
ex
和gh
是在此代碼塊之前創建的兩個excel表變量。而p_routes
是2度列表的列表。格式類似於p_routes = [['prov1' , 'address1' , 'No Backup'] , ['prov2', 'address2', 'Back1', 'Back2' ]]
您可能已經瞭解,內部列表長度是可變大小。任何意見將不勝感激。對不起,這個愚蠢的問題,但我做了很多搜索和重新格式化我的if..else
塊的方式。但每次我得到這個錯誤。
順便說一句,以前的語法錯誤是L = L + 1
。滑稽!然後我改變了L的類型L = int(L)
。現在,那個錯誤消失了。
您也會在else語句中看到一個錯誤,else代表沒有條件,如果所有其他條件都是錯誤的,就是這樣做的。此外,'傳遞'*和*'print'聲明? –
語法錯誤'ex.write(L,z,(p_routes [i] [z])'應該是這個'ex.write(L,z,(p_routes [i] [z]))''很多其他的錯誤 – The6thSense
非常感謝你的快速和點的答案。正如你指出的,是的,這是問題的確。 – Neo