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

3 Lösungen Lösungen öffentlich
#323

Fröhliche Zahlen (Happy Number)

Fortgeschrittener - Python von JKooP - 28.02.2021 um 10:24 Uhr
Von einer fröhlichen Zahl spricht man, wenn eine natürliche Ausgangszahl (Integer)
nach einer bestimmten Iterationsvorschrift am Ende den Zielwert 1 hat.

Die Iterationsvorschrift hier:
Die Summe der Quadrate aller Ziffern einer Zahl.
Wiederholen des Prozesses mit der neu entstandenen Zahl, bis am Ende
das Ergebnis entweder 1 (true) ist oder die Schleife unendlich weiterläuft (false).

Beispiel Glückliche Zahl:
Zahl 19
1² + 9² = 82
8² + 2² = 68
6² + 8² = 100
1² + 0² + 0² = 1

Beispiel unendlich:
Zahl 2
2² = 4
4² = 16
1² + 6² = 37
3² + 7² = 58
5² + 8² = 89
8² + 9² = 145
...

Aufgabe 1 (mittel):
Erstelle eine Methode/Funktion, die als Ergebnis bei einer Glücklichen Zahl den Wert true
und ansonsten false zurückgibt. Dabei können mehrere Schleifen ineinander verschachtelt werden.

Aufgabe 2 (schwieriger):
Wie Aufgabe 1, aber mit nur einer Schleife.

Viel Spaß
#2
vote_ok
von satn1241 (3090 Punkte) - 06.03.2021 um 20:09 Uhr
Quellcode ausblenden Python-Code
zahl = 2


def happy_number(zahl_fkt):
    zahl_fkt = str(zahl_fkt)
    summe = 0
    liste = []
    while not summe == 1:
        summe = 0
        for e in zahl_fkt:
            summe += int(e) ** 2
        for e in liste:
            if e == summe:
                return False
        liste.append(summe)
        zahl_fkt = str(summe)
    return True


print(happy_number(zahl))

Kommentare:

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

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

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.