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
       Python-Code
 Python-Code
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
          
          
             
       
    
    
    

 
    
    
    