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

Pythonの数とそのトリプル


numsという数字のリストがあるとすると、一方がもう一方の3倍になるように2つの数字があるかどうかを確認する必要があります。

したがって、入力がnums =[2、3、10、7、9]の場合、9は3のトリプルであるため、出力はTrueになります

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

  • i:=0

  • リストを並べ替えるn

  • j:=1

  • j

    • 3 * n[i]がn[j]と同じ場合、

      • Trueを返す

    • 3 * n [i]> n [j]の場合、

      • j:=j + 1

    • それ以外の場合

      • i:=i + 1

  • Falseを返す

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

class Solution:
   def solve(self, n):
      i = 0
      n.sort()
      j = 1
      while (j < len(n)):
         if (3*n[i] == n[j]):
            return True
         if (3*n[i] > n[j]):
            j += 1
         else:
            i += 1
      return False
ob = Solution()
print(ob.solve([2, 3, 10, 7, 9]))

入力

[2, 3, 10, 7, 9]

出力

True

  1. Pythonとそのアプリケーションのdivmod()

    divmod()は、Pythonの標準ライブラリの一部であり、2つの数値をパラメータとして受け取り、商と除算の余りをタプルとして提供します。これは、数値の除算性のチェックや、数値が素数であるかどうかの確認など、多くの数学アプリケーションで役立ちます。 構文 Syntax: divmod(a, b) a and b : b divides a a and b are integers or floats 例 以下の例では、整数と浮動小数点数の両方の場合を参照してください。 divmod()を適用すると、整数と浮動小数点値を含むことができる結果のタプルが得られます。 # with integer

  2. Pythonで文字列と数値を比較する方法は?

    番号を除くさまざまなタイプのオブジェクトは、タイプ名の順に並べられています。適切な比較をサポートしていない同じタイプのオブジェクトは、アドレス順に並べられています。 2つの文字列または2つの数値型を注文する場合、順序付けは期待どおりに行われます(文字列の辞書式順序、整数の数値順序)。 数値型と非数値型を注文する場合、数値型が最初になります。 strオブジェクトに数値がある場合は、それぞれのコンストラクターを使用して、floatまたはintに変換するだけです。たとえば、 i = 100 j = "12" int_j = int(j) print(int_j < i)