Python/ Übungen/ Narzisstische Zahl/ Lösung

Eine mögliche Lösung zur Übung Narzisstische Zahl

"""https://de.wikibooks.org/wiki/Python/_%C3%9Cbungen/_Narzisstische_Zahl"""


def finde_narzistische_zahlen(liste):
    """Finde narzistische Zahlen in einer Liste"""
    narzistische_Zahlen = []

    for zahl in liste:
        str_zahl = str(zahl)
        stellen = len(str_zahl)
        summe_potenzen = 0

        for ziffer in str_zahl:
            potenz = int(ziffer) ** stellen
            summe_potenzen += potenz

        if summe_potenzen == zahl:
            narzistische_Zahlen.append(zahl)

    return narzistische_Zahlen


liste = [0, 6, 87, 153, 360, 370, 408, 1632, 548834, 88593477]
print(finde_narzistische_zahlen(liste))

Anmerkungen

Bearbeiten