Einwortzahlen (Plus/Minus)
Verfasst: Mittwoch 15. Mai 2019, 13:00
Hallo, ich wollte fragen ob mir jemand bei folgender Aufgabenstellung bitte weiterhelfen kann:
Die Zahlen 1, 2, 3, ... können als ein Wort geschrieben werden, also eins, zwei, drei, ... und werden als "Einwortzahlen" bezeichnet (dieses Wort ist frei erfunden).
Nicht-Einwortzahlen sind Zahlen, die nur Wortbestandteile haben, die eine Einwortzahl sind oder das Wort "und" enthalten, z.B. 13 = dreizehn = "drei" + "zehn" oder 21 = einundzwanzig = "ein" + "und" + "zwanzig".
Erstellen Sie folgende Funktionen:
"def codieren" übernimmt als Parameter eine (1) Einwortzahl (=String) und liefert als Ergbnis die Zahl als Integerwert zurück.
"def decodieren" übernimmt als Parameter eine (1) Integerzahl und liefert als Ergbnis die Zahl als Einwortzahl (=String) zurück.
"def PlusMinus" übernimmer als Parameter einen (1) String und liefter als Ergbnis einen String mit einem Einwortzahl zurück. Folgendes gilt es zu berücksichtigen:
Der Eingabestring besteht aus mindestens einem Einwortzahl.
Wenn der Eingabestring aus mehr als einem Einwortzahl besteht, sind diese durch die Wörter "plus" oder "minus" getrennt. Diese repräsentieren Addition und Subtraktion.
Der Ausgabestring besteht aus exakt einer Einwortzahl, welche den Eingabestring oder das Ergbnis der Berechnung des Eingabestrings widerspiegelt.
Es müssen nur Berechnungen berücksichtig werden, welche ausschließlich aus Einwortzahlen in der Eingabe und Ausgabe bestehen.
Umlaute müssen in Ein- und Ausgabe vermieden werden, also immer fuenf, etc. schreiben und erwarten.
Verwenden Sie die beiden Eingangs definierten Funktionen in dieser Funktion, damit der Code übersichtlich bleibt.
Mit "run tests" (auf das Pfeil runter neben "run" klicken) wird die Funktion PlusMinus getestet. Verbessern Sie die Funktion jedesmal, wenn sie eine Fehlermeldung bekommen, die anzeigt, dass ein Testfall gefunden wurde, den Ihre Funktion noch nicht berücksichtig.
Bei jeder Fehlermeldung kann bei "Show details", dann auf den "PlusMinus", dann auf "More Info" geklickt werden. In der Fehlermeldung steht z.B. #7 - das heisst, dass bereits 6 Testfälle korrekt sind und beim 7. eine Fehlermeldung erzeugt wurde.
Vielen Dank für euere Hilfe!
Die Zahlen 1, 2, 3, ... können als ein Wort geschrieben werden, also eins, zwei, drei, ... und werden als "Einwortzahlen" bezeichnet (dieses Wort ist frei erfunden).
Nicht-Einwortzahlen sind Zahlen, die nur Wortbestandteile haben, die eine Einwortzahl sind oder das Wort "und" enthalten, z.B. 13 = dreizehn = "drei" + "zehn" oder 21 = einundzwanzig = "ein" + "und" + "zwanzig".
Erstellen Sie folgende Funktionen:
"def codieren" übernimmt als Parameter eine (1) Einwortzahl (=String) und liefert als Ergbnis die Zahl als Integerwert zurück.
"def decodieren" übernimmt als Parameter eine (1) Integerzahl und liefert als Ergbnis die Zahl als Einwortzahl (=String) zurück.
"def PlusMinus" übernimmer als Parameter einen (1) String und liefter als Ergbnis einen String mit einem Einwortzahl zurück. Folgendes gilt es zu berücksichtigen:
Der Eingabestring besteht aus mindestens einem Einwortzahl.
Wenn der Eingabestring aus mehr als einem Einwortzahl besteht, sind diese durch die Wörter "plus" oder "minus" getrennt. Diese repräsentieren Addition und Subtraktion.
Der Ausgabestring besteht aus exakt einer Einwortzahl, welche den Eingabestring oder das Ergbnis der Berechnung des Eingabestrings widerspiegelt.
Es müssen nur Berechnungen berücksichtig werden, welche ausschließlich aus Einwortzahlen in der Eingabe und Ausgabe bestehen.
Umlaute müssen in Ein- und Ausgabe vermieden werden, also immer fuenf, etc. schreiben und erwarten.
Verwenden Sie die beiden Eingangs definierten Funktionen in dieser Funktion, damit der Code übersichtlich bleibt.
Mit "run tests" (auf das Pfeil runter neben "run" klicken) wird die Funktion PlusMinus getestet. Verbessern Sie die Funktion jedesmal, wenn sie eine Fehlermeldung bekommen, die anzeigt, dass ein Testfall gefunden wurde, den Ihre Funktion noch nicht berücksichtig.
Bei jeder Fehlermeldung kann bei "Show details", dann auf den "PlusMinus", dann auf "More Info" geklickt werden. In der Fehlermeldung steht z.B. #7 - das heisst, dass bereits 6 Testfälle korrekt sind und beim 7. eine Fehlermeldung erzeugt wurde.
Vielen Dank für euere Hilfe!