# Bei der Eingabe von Zahlen mit einem benutzerdefinierten Trennzeichen soll die Summe der Zahlen berechnet werden (z.B. //;\n1;2 = 3)
# Bei Eingabe von Zahlen >1000 sollen diese ignoriert werden (z.B. 2 + 1001 = 2)
# Bei der Eingabe von Zahlen mit einem benutzerdefinierten Trennzeichen soll die Summe der Zahlen berechnet werden. Trennzeichen können unbegrenzt lang sein (z.B. “//[***]\n1***2***3” = 6).
# Bei der eingabe verschiedener Trennzeichen sollen trotzdem die Zahlen erkannt und zusammen addiert werden (--;\n1;2 = 3)
importunittest
fromabcimportABC,abstractmethod
classIStringCalculator(ABC):
@abstractmethod
defadd(self,numbers:str)->int:
...
...
@@ -25,14 +29,29 @@ class StringCalculator(IStringCalculator):
ifnumbers=="":
return0
'''Standard-Trennzeichen'''
delimiter=";"
'''Es wird geprüft ob ein benutzerdefiniertes Trennzeichen vorhanden ist.'''
ifnumbers.startswith("//"):
delimiter=numbers[2:3]
numbers=numbers[4:]
list=numbers.split(delimiter)
sep=numbers.split("\n",1)
delimiter_sep=sep[0][2:]
'''Für den Fall, dass das Trennzeichen in eckigen Klammern steht werden die Klammern entfernt und das Trennzeichen gespeichert'''