Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình đếm các mục phù hợp với quy tắc bằng Python

Giả sử chúng ta có một nums mảng, trong đó mỗi nums [i] chứa ba phần tử [type_i, color_i, name_i]. Đây là mô tả loại, màu sắc và tên của mặt hàng thứ i. Chúng tôi cũng có một quy tắc được đại diện bởi hai chuỗi khác, ruleKey và ruleValue. Bây giờ chúng ta có thể nói rằng mục thứ i phù hợp với quy tắc nếu một trong những điều sau là đúng -

  • ruleKey ="type" và ruleValue =type_i.

  • ruleKey ="color" và ruleValue =color_i.

  • ruleKey ="name" và ruleValue =name_i.

Chúng ta phải tìm số lượng kết hợp mà chúng ta có thể tìm thấy.

Vì vậy, nếu đầu vào giống như

Xe đạp xanh lam ElecB
Xe ô tô bạc Sumo
Xe đạp xanh lam TVS

Và ruleKey ="color", ruleValue ="blue", thì đầu ra sẽ là 2 vì có hai kết quả phù hợp [["Bike", "blue", "ElecB"] và ["Bike", "blue", "TVS "]].

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đếm:=0

  • nếu ruleKey giống như "type" thì

    • đối với tôi trong phạm vi từ 0 đến kích thước của các mục, hãy làm

      • nếu các mục [i, 0] giống với ruleValue thì

        • count:=count + 1

  • nếu ruleKey giống với "color" thì

    • đối với tôi trong phạm vi từ 0 đến kích thước của các mục, hãy làm

      • nếu các mục [i, 1] giống với ruleValue thì

        • count:=count + 1

  • nếu ruleKey giống như "name" thì

    • đối với tôi trong phạm vi từ 0 đến kích thước của các mục, hãy làm

      • nếu các mục [i, 2] giống với ruleValue thì

        • count:=count + 1

  • số lần trả lại

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

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

Đầu ra

2