Python コードを使用して水仙の数を表現するにはどうすればよいですか?
水仙番号の Python コードは次のとおりです:
水仙番号は 3 桁の正の整数と、その各桁の数字を指します。 is 3 べき乗の和はそれ自体に等しい。 (例: 1^3 5^3 3^3 = 153)
次のコードは、すべての水仙の数を見つけるために使用されます:
>>> >>> 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] >>>
手順:
上記のコードは 3 行のコードに分解できます:
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))
最初の行は、リストを使用して 3 桁すべてをプッシュし、各数字にマークを付けることを意味します。水仙の場合は True とマークされます。フラグと数値はタプル (フラグ、値) に配置され、すべてのタプルはリスト構造に配置されます。
2 番目の文は、True としてマークされたタプルを除外することを意味します。
3 番目の文は、最初の文でフィルタリングされたタプルの 2 番目の値をリスト構造に入れることを意味します。
print ステートメントを追加し、上記の 3 行のコードを実行して理解してください。
推奨チュートリアル: 「Python ビデオ チュートリアル 」
以上がPythonコードで水仙の数を表現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。