Ich benutze Python 3.6 und möchte eine Interval-Klasse erstellen. Ich versuche, eine Add-Methode zu erstellen, die eine Ganzzahl und ein Intervall hinzufügen kann. Bisher habe ich es geschafft, einen Code zu generieren, die für I = Intervall (2,3) c = I + 1 # c = [3,4]Klassen und Methoden Python
jedoch das Gegenteil dosent Arbeit
I = Intervall arbeitet (2,3) c = 1 + I #GET die Fehlermeldung Typeerror: Nicht unterstützter Operandentyp (e) für +: 'int' und 'Interval'
mein Code für meine Klasse und Methode ist als folow
Klasse Intervall:
def __init__(self,start=None,end=None):
if end==None:
end=start
if start==None:
start=end
if start>end:
raise TypeError('left value must be smaller than right value')
self.start=start
self.end=end
def hinzufügen (self, andere):
if isinstance(other,int):
s2,e2=other,other
s1,e1=self.start,self.end
elif isinstance(self,int):
s1,e1=self,self
s2,e2=other.start,other.end
else:
s2,e2=other.start,other.end
s1,e1=self.start,self.end
return Interval(s1+s2,e1+e2)
, wenn ich versuche, meine elif in der Add-Methode zu ändern, wenn nichts funktioniert. Weiß jemand, wie man das löst?
danke!
Danke! Es funktioniert jetzt mit der radd-Methode! –
Gern geschehen. –