Python :: Aufgabe #346 :: Lösung #2
2 Lösungen

#346
Von eins bis neunhundertneunundneunzig
Anfänger - Python
von eisheiliger
- 18.04.2021 um 15:43 Uhr
Setze Zahlen in Zahlenworte um und zwar von ‚1 / eins‘ bis ‚999 / neunhundertneunundneunzig‘.
#2

von AlexGroeg (2010 Punkte)
- 25.04.2021 um 19:59 Uhr

#346 ''' Von eins bis neunhundertneunundneunzig Anfänger - Pythonvon eisheiliger - Gestern 18.04.2021 um 15:43 Uhr Setze Zahlen in Zahlenworte um und zwar von ‚1 / eins‘ bis ‚999 / neunhundertneunundneunzig‘. ''' #zahl = '2' #input("Enter a value: ") bis_19 = ["zehn", "elf", "zwölf", "dreizehn", "vierzehn", "fünfzehn", "sechzehn", "siebzehn", "achzehn", "neunzehn"] bis_99 = ["", "zehn ", "zwanzig ", "dreisig ", "vierzig ", "fünfzig ", "sechzig ", "siebzig ", "achzig ", "neunzig "] bis_9 = ["", "ein", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun"] def zahl2wort(zahl): wort = "" pos = len(zahl) while pos > 0: if zahl == '1': wort = "eins" break if zahl == "0": wort = "null" break elif pos > 1 and zahl[pos -2] == "1": for i in range(0,10): if zahl[pos - 1] == str(i): wort = bis_19[i] + wort if pos == 2: break else: for i in range(0,10): if zahl[pos - 1] == str(i): wort = bis_9[i] + wort if pos > 1 and zahl[pos -2] != "1": for i in range(1,10): if zahl[pos - 2] == str(i): if zahl[pos -1] == '0': wort = wort + bis_99[i] else: wort = wort + ' und ' + bis_99[i] if pos > 2: for i in range(0,10): if zahl[pos - 3] == str(i): if wort == 'ein': wort = 'eins' wort = bis_9[i] + ' hundert ' + wort pos = pos - 3 return wort liste = range(1000) for zahl in liste: print( zahl2wort(str(zahl)) )
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1