すべての水仙の番号を検索するための Python コード: 最初にリストを使用して 3 桁の番号をすべてプッシュし、各番号にマークを付けます。次に、True とマークされたタプルをフィルターで除外し、最後に最初の文に 2 番目の値を入力します。フィルターされたタプルをリスト構造に取り込み、print ステートメントを追加します。
すべての水仙の数を見つけるための Python コード:
方法 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] >>>
関連する学習の推奨事項: Python ビデオ チュートリアル
手順:
上記のコードは、次の 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 をマークし、そうでない場合は False をマークします。マークと数字が付けられます。 1 つの祖先: (フラグ、値) に変換すると、すべてのタプルがリスト構造に配置されます。
2 番目の文は、True としてマークされたタプルを除外することを意味します。
3 番目の文は c を意味します。
print ステートメントを追加し、上記の 3 行のコードを実行して理解してください。
方法 2:
リスト導出のみを使用します。
>>> 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] >>>
関連する推奨事項: プログラミング ビデオ コース
以上がすべての水仙の数を見つける方法の Python コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。