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

ตรวจสอบว่าจุดอยู่บนหรือภายในสี่เหลี่ยมผืนผ้าใน Python


สมมติว่าเรามีสี่เหลี่ยมผืนผ้าที่แสดงด้วยสองจุด คือ มุมล่างซ้ายและมุมบนขวา เราต้องตรวจสอบว่าจุดที่กำหนด (x, y) อยู่ภายในสี่เหลี่ยมผืนผ้านี้หรือไม่

เช่น ถ้าอินพุตเป็น bottom_left = (1, 1), top_right = (8, 5), point = (5, 4) ผลลัพธ์จะเป็น True

ตรวจสอบว่าจุดอยู่บนหรือภายในสี่เหลี่ยมผืนผ้าใน Python

ในการแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:

  • กำหนดฟังก์ชัน solve() รับ bl, tr, p
  • ถ้า x ของ p > x ของ bl และ x ของ p < x ของ tr และ y ของ p > y ของ bl และ y ของ p < y ของ tr แล้ว
    • คืนค่า True
  • มิฉะนั้น
    • คืนค่า False

ลองดูการนำไปใช้ดังต่อไปนี้เพื่อเข้าใจได้ดียิ่งขึ้น:

ตัวอย่าง

def solve(bl, tr, p):
    if (p[0] > bl[0] and p[0] < tr[0] and p[1] > bl[1] and p[1] < tr[1]):
        return True
    else:
        return False

bottom_left = (1, 1)
top_right = (8, 5)
point = (5, 4)
print(solve(bottom_left, top_right, point))

อินพุต

(1, 1), (8, 5), (5, 4)

ผลลัพธ์

True