ich Python neu bin, die derzeit einen Code für einen Bruch Klasse zu schreiben:Wie Attribute Initialisierung mit bestimmten Werten in Python verhindern
class Fraction:
def __init__(self, numerator, denominator):
self.numerator = numerator
self.denominator = denominator
def __str__(self):
return "%s/%s" % (self.numerator, self.denominator)
def __mul__(self, other):
return "%s/%s" % (self.numerator* other.numerator, self.denominator* other.denominator)
Ich möchte jedoch eine Fraktion mit denominator = 0
verhindern definieren, da diese ist in Mathematik nicht erlaubt. Wie erreiche ich das? Ich habe versucht, einen try-except
Block in __init__
Funktion und auch einen if-else
Zustand setzen, aber nichts davon scheint zu funktionieren.
Vielen Dank im Voraus! Daniel
'__mul__' soll eine neue Instanz von' Fraction' zurückkehrt, nicht eine Zeichenfolge, sonst werden Sie nicht in der Lage sein, zu schreiben, zum Beispiel, 'fract1 * fract2 * fract3'. – robyschek