Ich habe eine Klasse für Intervalle mit diesen Operationen unten erstellt. I
ist ein definiertes Intervall. Wie funktioniert es, wenn ich die Operation I+2
und I*2
mache, aber nicht umgekehrt (2+I
und 2*I
)? Irgendwelche Ideen? (Die Zeilen erhalten nicht den richtigen Block, wenn ich den Code hier hineinkopiere).Multiplizieren oder fügen Sie ein Intervall mit einer Konstante
def __add__(self,other):
s1, f1 = self.s, self.f
n = other
if isinstance(other, Interval):
s2, f2 = other.s, other.f
return Interval(s1 + s2, f1+f2)
def __mul__(self, other):
s1, f1 = self.s, self.f
if isinstance(other, Interval):
s2, f2= other.s, other.f
return Interval(min(s1*s2,s1*f2,f1*s2,f1*f2),
max(s1*s2,s1*f2,f1*s2,f1*f2))
def __repr__(self):
return "[{},{}]".format(self.a,self.b)
Vielen Dank im Voraus!