Python :: Aufgabe #2 :: Lösung #9

10 Lösungen Lösungen öffentlich
#2

Zahlenfolge berechnen und fortsetzen

Anfänger - Python von pocki - 24.11.2012 um 19:50 Uhr
Es soll eine Zahlenfolge wiefolgt berechnet werden:
Die nacheinander folgenden gleichen Zahlen werden gezählt und zusammen mit der Zahl ausgegeben.
Aus der neu berechneten Zahlenfolge errechnet sich die nächste.

Beispiel:
1. Folge: 112
2. Folge: 2112 (2 Einser und 1 Zweier)
3. Folge: 122112 (1 Zweier, 2 Einser, und 1 Zweier)
usw.

Es soll nun mit dieser ersten Folge startend die 15. Folge berechnet und ausgegeben werden.
Wenn mehrstellige Zahlen vorkommen sind diese gleich auszugeben. Bsp: 12 Einser = 121
#9
vote_ok
von torstenkn (150 Punkte) - 01.05.2020 um 10:31 Uhr
Ergebnis der Folge 15 ist: 1321132132211331121321232221121113122113121122132112311321322112111312211312113221133211322112211213322112

Quellcode ausblenden Python-Code
numSeries = 112
iterations = 14

#Helper function
def nextNumber(Number):
    currentNumber = 0
    currentCounter = 0
    result = ""
    
    for m in range(len(str(Number))):
        # Erste Runde initialisiert Methode
        if currentNumber == 0:
            currentNumber = int(str(Number)[m])
            currentCounter = 1
            continue

        #Zahl gleich geblieben: Weiterzählen        
        if str(currentNumber) == str(Number)[m]:
            currentCounter = currentCounter + 1
            continue
            
        #Neue Zahl
        if str(currentNumber) != str(Number)[m]:
            result = result + str(currentCounter) + str(currentNumber)

            currentNumber = int(str(Number)[m])
            currentCounter = 1
            continue
    
    result = result + str(currentCounter) + str(currentNumber)
    return result
    
#Main
for i in range(iterations):
    numSeries = str(nextNumber(numSeries))
    #Kann alle Folgen ausgeben
    #print("Runde " + str(i+2) + " : " + str(numSeries))
    if i+2 == 15:
        print("Ergebnis der Folge 15 ist: " + str(numSeries))

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben