Python :: Aufgabe #346 :: Lösung #1
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‘.
#1

von AlexGroeg (2010 Punkte)
- 20.04.2021 um 20:22 Uhr

bis_9 = ["null","eins", "zwei","drei", "vier", "fünf", "sechs", "sieben", "acht", "neun"] 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"] ab_100 = ["", "ein", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun"] def zahl_in_wort(zahl): wort = "" s_zahl = str(zahl) pos = 0 while pos < len(s_zahl): if zahl < 10: wort = bis_9[int(s_zahl[pos])] break if zahl > 9 and zahl < 20: wort = bis_19[zahl-10] break if pos == 0 and len(s_zahl) > 1: for i in range(10): if s_zahl[-1] == str(i) and s_zahl[-1] != '0': wort += ab_100[i] + 'und' if pos == 1: for i in range(10): if s_zahl[-2] == str(i): wort += bis_99[i] if pos == 2: for i in range(10): if s_zahl[-3] == str(i): wort = ab_100[i] + "hundert" + wort pos += 1 print(wort) zahlen = list(range(1000)) for i in zahlen: zahl_in_wort(i)
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1