Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมนับจำนวนไอเท็มที่ตรงตามกฎด้วย Python


สมมติว่าเรามีอาร์เรย์ items โดยแต่ละ items[i] มี 3 อิลิเมนต์ [type_i, color_i, name_i] อธิบายประเภท สี และชื่อของไอเท็มที่ i เรายังมีกฎโดย ruleKey และ ruleValue ไอเท็มที่ i ตรงกฎถ้า ruleKey="type" และ ruleValue=type_i หรือ ruleKey="color" และ ruleValue=color_i หรือ ruleKey="name" และ ruleValue=name_i หาจำนวนไอเท็มที่ตรงกฎ

เช่น items = [["Bike","blue","ElecB"],["Car","silver","Sumo"],["Bike","blue","TVS"]] ruleKey="color" ruleValue="blue" ผลลัพธ์คือ 2

ขั้นตอนการแก้ปัญหา

  • count = 0
  • ถ้า ruleKey == "type": วนลูป i ถ้า items[i][0] == ruleValue: count++
  • ถ้า ruleKey == "color": วนลูป i ถ้า items[i][1] == ruleValue: count++
  • ถ้า ruleKey == "name": วนลูป i ถ้า items[i][2] == ruleValue: count++
  • คืน count

ตัวอย่างโค้ด

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