Python
 Computer >> コンピューター >  >> プログラミング >> Python

i + j+kがnと同じではないトリプレットのリストを見つけるPythonプログラム


3つの数i、j、kと別の数nがあるとします。 i + j + kがnと同じではないすべてのトリプレット(i、j、k)のリストを見つける必要があります。リスト内包表記戦略を使用してこの問題を解決する必要があります。

したがって、入力がi =1、j =1、z =2、n =3の場合、出力は[[0、0、0]、[0、0、1]、[0、0、 2]、[0、1、0]、[0、1、1]、[1、0、0]、[1、0、1]、[1、1、0]、[1、1、2] ]

これを解決するには、次の手順に従います-

  • arr =x + y + zの場合、0からiの範囲のすべてのx、0からjの範囲のすべてのy、および0からkの範囲のすべてのzのトリプレット[x、y、z]の配列nと同じではありません

理解を深めるために、次の実装を見てみましょう-

def solve(i, j, k, n):
    arr = [[x, y, z] for x in range(i+1) for y in range(j+1) for z in range(k+1) if x+y+z != n]
    return arr

i = 1
j = 1
k = 2
n = 3
print(solve(i, j, k, n))

入力

1, 1, 2, 3

出力

[[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 2]]

  1. リスト内の最小数を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal

  2. リストの累積合計を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、累積合計でリストを作成する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # cumulative sum def Cumulative(l):    new = []    cumsum = 0    for element in l:       cumsum += element       new.append(cumsum) &