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

โปรแกรมตรวจสอบว่าโดเมนและเรนจ์เป็นฟังก์ชันหรือไม่ใน Python

สมมติว่าเรามีรายการข้อมูล x แทนโดเมน (Domain) และรายการข้อมูล y (ขนาดเท่ากับ x) แทนเรนจ์ (Range) เราต้องตรวจสอบว่า x -> y เป็นฟังก์ชันหรือไม่ โดยพิจารณาว่าทุกสมาชิกใน x และ y เป็นบวก

ตัวอย่างเช่น หาก x = [1,3,2,6,5] y = [1,9,4,36,25] ผลลัพธ์จะเป็น True เพราะสำหรับแต่ละ x ค่า y ที่สอดคล้องคือกำลังสองของ x จึงเป็นฟังก์ชัน

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

  • mp := dictionary ใหม่
  • for i ในช่วง 0 ถึง len(x):
    • a := x[i], b := y[i]
    • ถ้า a ไม่อยู่ใน mp: mp[a] := b
    • มิฉะนั้น: คืนค่า False (เพราะ x เดียวมี y มากกว่าหนึ่งค่า)
  • คืนค่า True

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

def solve(x, y):
    mp = {}
    for i in range(len(x)):
        a = x[i]
        b = y[i]
        if a not in mp:
            mp[a] = b
        else:
            return False
    return True

x = [1,3,2,6,5]
y = [1,9,4,36,25]
print(solve(x, y))

อินพุต

[1,3,2,6,5], [1,9,4,36,25]

เอาต์พุต

True