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
2096306

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.