0

Python要素を持つCityEngineというプログラムを使用しています。

問題: オブジェクトに対して関数を呼び出したところ、数値のリスト xyz が返されました。xyz を独自の名前に分割しました。また、関数を呼び出して、このオブジェクトに関連する別の属性を取得し、以前に取得した y 値を置き換えます。

ここで、y 値を出力すると、小数点以外の数字のみが含まれます。y の値を新しいリストに組み込むと、値の前後に単一のアポストロフィが付きます。

たとえば、print(y) は 5.0000000 を返します。

この position[x,y,z] のように配置すると、[0, '5.000000' , 0] の print(position) が得られます。プログラムは単一のアポストロフィを読み取ることができないため、値を完全に無視しました。

私は .remove("'","") と .strip() を試しましたが、何もしませんでした。

どんな助けでも大歓迎です。

ありがとう。

4

2 に答える 2

2

これは、関数が数値ではなく文字列を返しているように見えます。したがって、これに対処するには、int()またはを使用して文字列を変換する必要がありますfloat()

一般に、print(l)アイテムのリストでを実行すると、各アイテムはその__repr__メソッドの出力とともに出力されます。慣例では、文字列の__repr__メソッドは文字列を単一のアポストロフィでラップしますが、数値はラップされません。これは、潜在的なあいまいさを取り除くためです。print(l)したがって、

[0, '5.00000', 0.1]

、、、およびを含むリストになりintます。strfloat

于 2011-09-01T12:38:26.773 に答える
0

浮動小数点に変換...文字列なので、文字列から浮動小数点への変換を行う必要があります

于 2011-09-01T12:49:41.993 に答える