Kết quả của chương trình dưới đây là:
class Point:
def __init__(self, x = 0, y = 0):
self.x = x
self.y = y
def __sub__(self, other):
x = self.x + other.x
y = self.y + other.y
return Point(x, y)
p1 = Point(3, 4)
p2 = Point(1, 2)
result = p1 - p2
print(result.x, result.y)
class Point:
def __init__(self, x = 0, y = 0):
self.x = x
self.y = y
def __sub__(self, other):
x = self.x + other.x
y = self.y + other.y
return Point(x, y)
p1 = Point(3, 4)
p2 = Point(1, 2)
result = p1 - p2
print(result.x, result.y)
Trả lời:
Đáp án đúng: B
Đoạn code định nghĩa một lớp `Point` với phương thức `__init__` để khởi tạo đối tượng điểm với tọa độ x, y và phương thức `__sub__` để thực hiện phép trừ hai điểm. Tuy nhiên, phép trừ ở đây thực chất là cộng tọa độ của hai điểm.
Khi `p1 = Point(3, 4)` và `p2 = Point(1, 2)` được tạo, `p1 - p2` sẽ gọi phương thức `__sub__`. Bên trong `__sub__`, `x` sẽ là `p1.x + p2.x = 3 + 1 = 4` và `y` sẽ là `p1.y + p2.y = 4 + 2 = 6`. Kết quả trả về là một đối tượng `Point` mới với `x = 4` và `y = 6`. Vì vậy, `print(result.x, result.y)` sẽ in ra `4 6`.
Tổng hợp 200 câu hỏi trắc nghiệm lập trình Python có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
