Python :: Aufgabe #276 :: Lösung #1
4 Lösungen
#276
Zahlen in Wörtern ausdrücken
Anfänger - Python
von Gisbert5020
- 30.04.2020 um 15:17 Uhr
Schreiben Sie ein Programm, das Zahlen von 0 bis 99 in Wörtern fasst.
Zusatzaufgabe : Erweitern Sie das Programm von 0 bis 1000.
Zusatzaufgabe : Erweitern Sie das Programm von 0 bis 1000.
#1
von torstenkn (150 Punkte)
- 02.05.2020 um 00:00 Uhr
Einmal eine mögliche Lösung unter Verwendung von Rekursion (Methode ruft sich selbst auf um bei Zahlen über 100 die Wörter der letzten beiden Ziffern zu finden).
Python-Code
numberWord = {0: "null", 1: "ein", 2: "zwei", 3: "drei", 4: "vier", 5: "fünf", 6: "sechs", 7: "sieben", 8: "acht", 9: "neun", 10: "zehn", 11: "elf", 12: "zwölf", 17: "siebzehn", 20: "zwanzig", 30: "dreißig", 40: "vierzig", 50: "fünfzig", 60: "sechzig", 70: "siebzig", 80: "achtzig", 90: "neunzig", 100: "einhundert", 1000: "eintausend" } def getNumberAsWord(number): if number == 1: return "eins" elif number == 0 or (number > 1 and number < 13) or number == 17 or (len(str(number)) == 2 and int(str(number)[1]) == 0) or number == 100 or number == 1000: return numberWord[number] elif number > 12 and number < 20: return numberWord[int(str(number)[1])] + numberWord[10 * int(str(number)[0])] elif number > 20 and number < 100: return numberWord[int(str(number)[1])] + "und" + numberWord[10 * int(str(number)[0])] elif number > 100 and number < 1000: return numberWord[int(str(number)[0])] + "hundert" + getNumberAsWord(int(str(number)[1:3])) for i in range(1, 299): print(getNumberAsWord(i))
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1