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

โปรแกรม Python หาผลรวมความต่างสัมบูรณ์ระหว่างทุกคู่ในลิสต์

โจทย์: กำหนดลิสต์ หาผลรวมของความต่างสัมบูรณ์ระหว่างทุกคู่ (pair) ในลิสต์

ใช้ enumerate() ได้ index และ value วนลูป 2 ชั้น ตรวจสอบ i != j คำนวณ abs(x-y) เก็บในลิสต์ diffs แล้วหาผลรวม หาร 2 เพราะแต่ละคู่นับซ้ำ 2 ครั้ง

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

def sumPairs(lst):
    diffs = []
    for i, x in enumerate(lst):
        for j, y in enumerate(lst):
            if i != j:
                diffs.append(abs(x - y))
    return int(sum(diffs) / 2)

lst = [22, 3, 55, 43]
print(sumPairs(lst))

ผลลัพธ์

177

โปรแกรม Python หาผลรวมความต่างสัมบูรณ์ระหว่างทุกคู่ในลิสต์

สรุป

เรียนรู้วิธีหาผลรวมความต่างสัมบูรณ์ระหว่างทุกคู่ในลิสต์