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

#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
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

von Supelir (100 Punkte)
- 05.02.2019 um 19:28 Uhr

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
Seite 1 von 0
1