2017-01-23 33 views
0

爲什麼程序只取得列表中的第一個數字並忽略其他數字,從而創建一個空列表。程序忽略第一個數字後的所有數字

這發生在每個功能循環。

cars=[23.11,1531,'volvo','BMW'] 

    def price(CAR): 

    num=[] 
    strings=[] 
    for i in CAR: 
     if isinstance(i,float)or isinstance(i,int): 
      num.append(i) 
     elif isinstance(i,str): 
      strings.append(i) 
     else: 
      pass 
     return num,strings 


print(price(cars)) 
([23.11], []) 
+1

我沒有看到代碼的問題,我只是複製粘貼你的代碼在我的機器,並按預期運行完美。 –

回答

0

我能想到的唯一原因是,你return語句與您的for循環,所以在第一次迭代後存在對齊。 (雖然它看起來現在對齊,也許編輯本能地糾正它。)

+0

編輯糾正了它,但它必須與if和elif語句 –

+0

處於相同的位置所以這就是問題所在。如果return語句在for循環中,那麼它將在第一次傳遞後退出。它應該與for循環對齊。 – ilke444

+0

我不知道如何謝謝 它終於工作^^ –

相關問題