ホームページ  >  記事  >  バックエンド開発  >  Pythonコードで水仙の数を表現するにはどうすればよいですか?

Pythonコードで水仙の数を表現するにはどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-06-23 16:22:3913421ブラウズ

Pythonコードで水仙の数を表現するにはどうすればよいですか?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。