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

โปรแกรมหาลบของผลคูณอาร์เรย์ด้วย Python


สมมติว่าเรามีอาร์เรย์ nums เราต้องหาลบ (sign) ของผลคูณของทุกอิลิเมนต์ในอาร์เรย์

เช่น nums = [-2,3,6,-9,2,-4] ผลลัพธ์คือ "Negative" เพราะผลคูณคือ -2592

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

  • zeroes = 0, negatives = 0
  • วนลูปแต่ละ i ใน nums:
    • ถ้า i == 0: zeroes += 1
    • ถ้า i < 0: negatives += 1
  • ถ้า zeroes > 0: คืน "Zero"
  • มิฉะนั้นถ้า negatives % 2 == 0: คืน "Positive"
  • มิฉะนั้น: คืน "Negative"

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

def solve(nums):
    zeroes, negatives = 0, 0
    for i in nums:
        if i == 0:
            zeroes += 1
        if i < 0:
            negatives += 1
    if zeroes > 0:
        return "Zero"
    elif negatives % 2 == 0:
        return "Positive"
    else:
        return "Negative"

nums = [-2,3,6,-9,2,-4]
print(solve(nums))

ข้อมูลเข้า

[-2,3,6,-9,2,-4]

ข้อมูลออก

Negative