0

以前にコードを書いて保存するのを忘れていたので、今はすべてをまとめてフランケンシュタインにしていますが、このチャンクに対して何をしたか思い出せず、エラーが発生しています。

writer = open(file_name, 'w')
for i in range (len(mammal_name)):
    mammal_lbs=round((float(mammal_kg[i]))*2.2046,3)    
    brain_lbs=round((float(brain_g[i]))*.0022046,3)
    writer.write(mammal_name[i]+','+str(mammal_lbs)+','+str(brain_lbs)+'\n')
writer.close()

リストの内容を変更しない場合、または何かを削除した場合、コードは正常に機能します。しかし、コードの他の部分でリストに追加すると、次のエラーが発生します。

TypeError: float() 引数は文字列または数値でなければなりません。

バカなことをしているような気がします。

4

1 に答える 1

1

への呼び出しの 1 つがfloat、無効なパラメーターを受け取っています。このように追跡できます

writer = open(file_name, 'w')
for i in range (len(mammal_name)):
    try:
        mammal_lbs=round((float(mammal_kg[i]))*2.2046,3)    
        brain_lbs=round((float(brain_g[i]))*.0022046,3)
    except TypeError:
        print i
        print repr(mammal_kg[i])
        print repr(brain_g[i])
        raise
    writer.write(mammal_name[i]+','+str(mammal_lbs)+','+str(brain_lbs)+'\n')
writer.close()
于 2013-11-08T03:35:08.637 に答える