1

CSV からクラスにランダムな行を読み込んでいます。これらの値の 1 つを、計算に使用する文字列ではなく数値として表示するシステムが必要です。これは整数に対してうまく機能します。

class Weapon:
    def __init__ (self, name, value, damage, weight, properties, catagory, description):
        self.name = name
        self.value = int(value)
        self.damage = damage
        self.weight = weight
        self.properties = properties
        self.catagory = catagory
        self.description = description

分数 (たとえば 0.05) で int を使用しようとすると、次のエラーが発生するという問題があります。

    self.value = int(value)
ValueError: invalid literal for int() with base 10: '0.05'

Int の代わりに、または int と同様に、何を使用して動作させることができますか?

4

2 に答える 2

4

int(float(value))最初に文字列を に解析してfloatから、 に変換するために使用しますint

しかしもちろん、その後0.05は に縮小され0ます。それがうまくいかない場合は、 を使用してくださいfloat(value)

于 2013-05-30T15:43:18.757 に答える