我從一個CSV隨機行加載到一個類。我需要系統將這些值中的一個看作數字,而不是用於計算的字符串。這適用於整數。不能在分數上使用int。解決方法? Python
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,讓它工作?
如果'value'需要是一個整數,它可能是值得考慮的浮點值是如何被傳遞到'武器.__ init__'擺在首位。 – chepner
請記住,問題是''0.05''不是一個分數。這是一個字符串。你正在做的和'int('Hello,World!')'一樣。 –
相反,我會說這裏的問題是一個分數不是一個整數。在任何情況下,期望int('0.05')'工作可能是不合理的。 :-) –