Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용하여 규칙과 일치하는 항목을 계산하는 프로그램

<시간/>

각 nums[i]에 세 개의 요소[type_i, color_i, name_i]가 포함된 배열 nums가 있다고 가정합니다. i번째 항목의 유형, 색상 및 이름을 설명합니다. 또한 두 개의 다른 문자열(ruleKey 및 ruleValue)로 표시되는 규칙이 있습니다. 이제 다음 중 하나가 참인 경우 i번째 항목이 규칙과 일치한다고 말할 수 있습니다. -

  • ruleKey ="유형" 및 규칙 값 =type_i.

  • ruleKey ="색상" 및 ruleValue =color_i.

  • 규칙키 ="이름" 및 규칙값 =이름_i.

찾을 수 있는 일치 항목의 수를 찾아야 합니다.

따라서 입력이 다음과 같으면

자전거 파란색 일렉비
자동차 실버 스모
자전거 파란색 TVS

그리고 ruleKey ="color", ruleValue ="blue"인 경우 [["Bike","blue","ElecB"] 및 ["Bike","blue","TVS가 일치하므로 출력은 2가 됩니다. "]].

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 개수 :=0

  • ruleKey가 "유형"과 같으면

    • 범위 0에서 항목 크기까지의 i에 대해

      • 항목[i, 0]이 ruleValue와 같으면

        • 개수 :=개수 + 1

  • ruleKey가 "color"와 같으면

    • 범위 0에서 항목 크기까지의 i에 대해

      • 항목[i, 1]이 ruleValue와 같으면

        • 개수 :=개수 + 1

  • ruleKey가 "name"과 같으면

    • 범위 0에서 항목 크기까지의 i에 대해

      • 항목[i, 2]이 규칙값과 같으면

        • 개수 :=개수 + 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