2つの微分方程式の値を含むオブジェクトがあります。例えばオブジェクトを負の数でチェックする方法
:
#create equation object
class EquationValues(object):
x = 0
y = 0
xMin = 0
xMax = 0
yMin = 0
yMax = 0
deltaTime = 0
# Class constructor/initilizer
def __init__(self, x, y, xMin, xMax, yMin, yMax, deltaTime):
self.x = x
self.y = y
self.xMin = xMin
self.xMax = xMax
self.yMin = yMin
self.yMax = yMax
self.deltaTime = deltaTime
def make_equationValues(x, y, xMin, xMax, yMin, yMax, deltaTime):
equationValues = EquationValues(x, y, xMin, xMax, yMin, yMax, deltaTime)
return equationValues
with open ('inputs.csv', 'r') as f:
reader = csv.reader(f, delimiter = ',')
data = list(reader)
rowCount = len(data)
while x < rowCount:
try:
# Set variables and make sure they are the right format
x = float(data[x][0])
y = float(data[x][1])
xMin = float(data[x][2])
xMax = float(data[x][3])
yMin = float(data[x][4])
yMax = float(data[x][5])
deltaTime = float(data[x][6])
# Check for negative input, if negative throw value error
if (x < 0) or (y < 0) or (xMin < 0) or (xMax < 0) or (yMin < 0) or (yMax < 0) or (deltaTime < 0):
raise ValueError
は、どのように私はすべての値を効率的に負の数を確認することができますか?
現在、私は、例えば
するtry/exceptで声明使用し、場合、それを行うことができる午前:
if (x < 0) or (y < 0) or (xMin < 0) or (etc):
raise ValueError
これはそれを行うための最善の方法のように見えるしていません。これを行うより良い方法はありますか?あなたのコードは、実際に動作する場合
者:次に、あなたの元のクラスは次のようになり
:記述子は記述子クラスを使用して定義された任意の属性に設定されているから無効な値を防ぐために使用することができますクラス属性。もっとコードを表示できますか? –
これらの値をコンテナに入れ、コンテナにループすることはありますか?また、このクラス定義はあなたが思っていることをしていない可能性があります... –
本当に、あなたはおそらく '__init__'関数を定義したいと思うでしょう。 – nucleon