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

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
#8
vote_ok
von Supelir (100 Punkte) - 05.02.2019 um 19:28 Uhr
Quellcode ausblenden Python-Code
def to_index(prev, cur, till):
    count=[]
    for s in prev:
        if len(count)==0:
            count.append([s,1])
        else:
            if s==count[-1][0]:
                count[-1][1]+=1
            else:
                count.append([s,1])
    newseq=""
    for l in count:
        newseq += (str(l[1])+l[0])
    if cur==till-1:
        return [newseq]
    else:
        return [prev]+to_index(newseq, cur+1, till)
print(to_index("112", 1, 15))

Kommentare:

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

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