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

Pythonを使用してルールに一致するアイテムをカウントするプログラム


配列numsがあり、各nums [i]に3つの要素[type_i、color_i、name_i]が含まれているとします。これらは、i番目のアイテムのタイプ、色、および名前を説明しています。また、他の2つの文字列、ruleKeyとruleValueで表されるルールもあります。これで、次のいずれかが当てはまる場合、i番目の項目がルールに一致していると言えます-

  • ruleKey="type"およびruleValue=type_i。

  • ruleKey="color"およびruleValue=color_i。

  • ruleKey="name"およびruleValue=name_i。

見つけることができる一致の数を見つける必要があります。

したがって、入力が次のような場合

自転車 ElecB
シルバー 相撲
自転車 TVS

そして、ruleKey ="color"、ruleValue ="blue"の場合、2つの一致[["Bike"、 "blue"、 "ElecB"]と["Bike"、 "blue"、 "TVSがあるため、出力は2になります。 "]]。

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

  • カウント:=0

  • ruleKeyが"type"と同じ場合、

    • 0からアイテムのサイズまでの範囲のiの場合、実行します

      • items [i、0]がruleValueと同じ場合、

        • count:=count + 1

  • ruleKeyが"color"と同じ場合、

    • 0からアイテムのサイズまでの範囲のiの場合、実行します

      • items [i、1]がruleValueと同じ場合、

        • count:=count + 1

  • ruleKeyが"name"と同じ場合、

    • 0からアイテムのサイズまでの範囲のiの場合、実行します

      • items [i、2]がruleValueと同じ場合、

        • count:=count + 1

  • 返品数

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

def solve(items, ruleKey, ruleValue):
   count = 0
   if ruleKey == "type":
      for i in range(len(items)):
         if items[i][0] == ruleValue:
            count += 1
   if ruleKey == "color":
      for i in range(len(items)):
         if items[i][1] == ruleValue:
            count += 1
   if ruleKey == "name":
      for i in range(len(items)):
         if items[i][2] == ruleValue:
            count += 1
   return count
items = [["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]]
ruleKey = "color"
ruleValue = "blue"
print(solve(items, ruleKey, ruleValue))

入力

[["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]],"color",
"blue"

出力

2

  1. 指定された文字列のセットを使用して母音の数をカウントするPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列が与えられたので、与えられた文字列のセットを使用して母音の数を数える必要があります。 ここでは、文字列全体をトラバースして、各文字が母音であるかどうかを確認し、カウントをインクリメントします。 次に、以下の実装の概念を観察しましょう- 例 def vowel_count(str):    count = 0    #string of vowels    vowel = "aeiouAEIOU"   &nbs

  2. 配列内の反転をカウントするPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。必要な反転をカウントして表示する必要があります。 反転カウントは、配列をソートするために必要なステップ数をカウントすることによって取得されます。 次に、以下の実装のソリューションを見てみましょう- 例 # count def InvCount(arr, n):    inv_count = 0    for i in range(n):       for j in range(i + 1, n):