Heim > Artikel > Backend-Entwicklung > Python-Code, wie man die Anzahl aller Narzissen ermittelt
Die Methode zum Finden aller Narzissenzahlen im Python-Code: Verwenden Sie zuerst die Liste, um alle dreistelligen Zahlen durchzugehen, und markieren Sie dann die als wahr markierten Tupel Satz Fügen Sie den zweiten Wert der Gruppe in die Listenstruktur ein und fügen Sie eine print-Anweisung hinzu.
Python-Code zum Ermitteln der Anzahl aller Narzissen:
Methode 1:
>>> >>> a = list(map(lambda x: x[1], filter(lambda x: x[0], [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)]))) >>> print(a) [153, 370, 371, 407] >>>
Verwandte Lernempfehlungen: Python-Video. Tutorial
Anleitung:
Der obige Code kann zerlegt werden Der aus drei Sätzen bestehende Code:
a = [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)] b = filter(lambda x: x[0], a) c = list(map(lambda x: x[1], b))
Der erste Satz bedeutet, eine Liste zu verwenden, um alle dreistelligen Zahlen zu durchlaufen und jede Zahl zu markieren. Wenn die Narzissen zählen, markieren Sie sie als wahr, wenn nicht, markieren Sie sie als falsch Setzen Sie die Markierungen und Zahlen in einen Vorfahren (Flag, Wert), alle Tupel werden in einer Listenstruktur platziert.
Der zweite Satz bedeutet, die als „True“ markierten Tupel herauszufiltern.
Der dritte Satz bedeutet c.
Fügen Sie die Druckanweisung hinzu und führen Sie die oben genannten drei Codezeilen aus, um sie zu verstehen.
Methode 2:
Nur Listenableitung verwenden.
>>> a = [i**3+j**3+k**3 for i in range(1, 10) for j in range(0, 10) for k in range(0, 10) if i*100+j*10+k == i**3+j**3+k**3] >>> print(a) [153, 370, 371, 407] >>>
Verwandte Empfehlungen: Programmiervideokurs
Das obige ist der detaillierte Inhalt vonPython-Code, wie man die Anzahl aller Narzissen ermittelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!