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

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
#2
vote_ok
von Urkel_ (50 Punkte) - 12.06.2015 um 10:33 Uhr
Quellcode ausblenden Python-Code
Folge = "112"

print ("Startfolge - 1 : " + Folge)

for a in range(2,16):

    Zeichendavor = "0"
    Zaehler = 0
    NeueFolge = ""
    
    for Zeichen in Folge:
        
        if Zeichen == Zeichendavor:
            Zaehler = Zaehler + 1
        else:
            if Zaehler != 0:
                NeueFolge = NeueFolge + str(Zaehler) + str(Zeichendavor)            
            Zaehler = 1
            Zeichendavor = Zeichen
    
    NeueFolge = NeueFolge + str(Zaehler) + str(Zeichen)    
            
    print( "Neue Folge - " + str(a) + " : " + NeueFolge)
    Folge = NeueFolge


Die Ausgabe:

Startfolge - 1 : 112
Neue Folge - 2 : 2112
Neue Folge - 3 : 122112
Neue Folge - 4 : 11222112
Neue Folge - 5 : 21322112
Neue Folge - 6 : 121113222112
Neue Folge - 7 : 11123113322112
Neue Folge - 8 : 3112132123222112
Neue Folge - 9 : 132112111312111213322112
Neue Folge - 10 : 11131221123113111231121123222112
Neue Folge - 11 : 3113112221121321133112132112211213322112
Neue Folge - 12 : 1321132132211211131221232112111312212221121123222112
Neue Folge - 13 : 1113122113121113222112311311221112131221123113112211322112211213322112
Neue Folge - 14 : 31131122211311123113322112132113212231121113112221121321132122211322212221121123222112
Neue Folge - 15 : 1321132132211331121321232221121113122113121122132112311321322112111312211312113221133211322112211213322112

Kommentare:

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

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

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.